LINUX勉強 ~その4~ centosとLAMP環境 [CENTOS de LAMP]
phpのmakeをやり直す前に mysqlをインストールします。
0:mysqlのダウンロード
php再インストの前に先にmysqlをインストールする事にしました。
mysql-5.1.40.tar.gz をダウンロード
会員登録しねーといかんのがめんどくせー。
WinSCP等で /tmp/ にアップロードしておいた。
1:解凍
cd /tmp/ でtmpに移動(どこでも可)
su - でスーパーユーザにする
tar xvzf mysql-5.1.40.tar.gz
2:ユーザ作成
configureでmakefileを作る前にユーザを作成しておこう。
groupadd mysql
useradd -g mysql mysql
passwd mysql
で、ユーザ作成。
3:MakeFileの作成
いざ ./configureを実行。こんな感じでいった。
./configure
--with-charset=utf8
--with-extra-charsets=all
--with-mysqld-user=mysql
--with-innodb
--prefix=/usr/local/mysql
で、エラーですよ。
checking for termcap functions library... configure: error: No curses/termcap library found
なんかないと。
yumで足しました。
yum install ncurses-devel
再度 ./configure 実行。無事できました。
4:コンパイル
make を実行
5:インストール
make install!
6:権限変更
cd /usr/local/
chown -R mysql:mysql mysql
なんか変な感じだ。
7:データディレクトリ作成
cd mysql
mkdir var
chown -R mysql:mysql var
8:設定ファイルを配置
cp /tmp/mysql-5.1.40/support-files/my-medium.cnf /etc/my.cnf
適当に修正。よくわからん。
9:起動ファイルを配置
cp /tmp/mysql-5.1.40/support-files/mysql.server /etc/init.d/mysql
多分変更不要
chmod 755 /etc/init.d/mysql
起動スクリプトの配置
/sbin/chkconfig --add mysql
10:起動の前に初期化
cd /tmp/mysql-5.1.40/scripts/
./mysql_install_db --user=mysql
11:さあ起動してみろ
/sbin/service mysql start
/sbin/service mysql stop
12:mysql実行
/usr/local/mysql/bin/mysql -u root mysql
とやればmysqlが起動する。
13:毎回めんどくせー
いちいちパス通すのめんどくさい場合は、
ルートの.bash_profileの 「PATH=~~」に付け足す。(/usr/local/mysql/bin)
再ログイン必要。
とりあえず、これでどっからでも mysql と叩ける!
0:mysqlのダウンロード
php再インストの前に先にmysqlをインストールする事にしました。
mysql-5.1.40.tar.gz をダウンロード
会員登録しねーといかんのがめんどくせー。
WinSCP等で /tmp/ にアップロードしておいた。
1:解凍
cd /tmp/ でtmpに移動(どこでも可)
su - でスーパーユーザにする
tar xvzf mysql-5.1.40.tar.gz
2:ユーザ作成
configureでmakefileを作る前にユーザを作成しておこう。
groupadd mysql
useradd -g mysql mysql
passwd mysql
で、ユーザ作成。
3:MakeFileの作成
いざ ./configureを実行。こんな感じでいった。
./configure
--with-charset=utf8
--with-extra-charsets=all
--with-mysqld-user=mysql
--with-innodb
--prefix=/usr/local/mysql
で、エラーですよ。
checking for termcap functions library... configure: error: No curses/termcap library found
なんかないと。
yumで足しました。
yum install ncurses-devel
再度 ./configure 実行。無事できました。
4:コンパイル
make を実行
5:インストール
make install!
6:権限変更
cd /usr/local/
chown -R mysql:mysql mysql
なんか変な感じだ。
7:データディレクトリ作成
cd mysql
mkdir var
chown -R mysql:mysql var
8:設定ファイルを配置
cp /tmp/mysql-5.1.40/support-files/my-medium.cnf /etc/my.cnf
適当に修正。よくわからん。
9:起動ファイルを配置
cp /tmp/mysql-5.1.40/support-files/mysql.server /etc/init.d/mysql
多分変更不要
chmod 755 /etc/init.d/mysql
起動スクリプトの配置
/sbin/chkconfig --add mysql
10:起動の前に初期化
cd /tmp/mysql-5.1.40/scripts/
./mysql_install_db --user=mysql
11:さあ起動してみろ
/sbin/service mysql start
/sbin/service mysql stop
12:mysql実行
/usr/local/mysql/bin/mysql -u root mysql
とやればmysqlが起動する。
13:毎回めんどくせー
いちいちパス通すのめんどくさい場合は、
ルートの.bash_profileの 「PATH=~~」に付け足す。(/usr/local/mysql/bin)
再ログイン必要。
とりあえず、これでどっからでも mysql と叩ける!
LINUX勉強 ~その3~ centosとLAMP環境 [CENTOS de LAMP]
apache, phpをいれたので、設定ファイルを変えていこうと思います。
0:phpの設定
php.ini設定ファイルを配置
cp /tmp/php-5.2.11/php.ini-dist /usr/local/lib/php.ini
php.iniのこの辺を変えていった
short_open_tag = Off
output_buffering = On
allow_call_time_pass_reference = Off
error_reporting = E_ALL
display_errors = Off
log_errors = On
variables_order = "GPCS"
register_long_arrays = Off
register_argc_argv = Off
magic_quotes_gpc = Off
default_charset = "UTF-8"
include_path = ".:/usr/local/include/php:/usr/local/lib/php"
extension_dir = "/usr/local/lib/php/ext"
extension=openssl.so
date.timezone = "Asia/Tokyo"
session.save_path = "/usr/local/apache2/session"
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
1:apacheの設定
/usr/local/apache2/conf/ の httpd.conf を一部変えていく
しかし、ここで php5 configure時のオプションがまったく
足りないという事を経験者から聞いたため、コンパイルとインストール
し直しを決意。。。
あと、mysqlは先に入れておいた方がいいとのことなので、先にmysqlも
いれる事にしました。。。大変だ。
0:phpの設定
php.ini設定ファイルを配置
cp /tmp/php-5.2.11/php.ini-dist /usr/local/lib/php.ini
php.iniのこの辺を変えていった
short_open_tag = Off
output_buffering = On
allow_call_time_pass_reference = Off
error_reporting = E_ALL
display_errors = Off
log_errors = On
variables_order = "GPCS"
register_long_arrays = Off
register_argc_argv = Off
magic_quotes_gpc = Off
default_charset = "UTF-8"
include_path = ".:/usr/local/include/php:/usr/local/lib/php"
extension_dir = "/usr/local/lib/php/ext"
extension=openssl.so
date.timezone = "Asia/Tokyo"
session.save_path = "/usr/local/apache2/session"
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
1:apacheの設定
/usr/local/apache2/conf/ の httpd.conf を一部変えていく
しかし、ここで php5 configure時のオプションがまったく
足りないという事を経験者から聞いたため、コンパイルとインストール
し直しを決意。。。
あと、mysqlは先に入れておいた方がいいとのことなので、先にmysqlも
いれる事にしました。。。大変だ。
LINUX勉強 ~その2~ centosとLAMP環境 [CENTOS de LAMP]
その1で centosのインストールと設定を行いました。
今回は、apacheとphpのインストールまでを記載します。
0:ログイン
cd /tmp/ でtmpに移動(どこでも可)
su - でスーパーユーザにする
1:開発ツールのインストール
OSインストール時に、開発ツールを入れ忘れて、gccなどの
コンパイラ等が入らなくてconfigureできなかったため、
yumであとからインストール
yum grouplist
yum groupinstall "Development Tools"
2:wget
apache 最新 2.2.14 (2009.11.05)
http://ftp.riken.jp/net/apache/httpd/httpd-2.2.14.tar.gz
php 最新 5.2.11(2009.11.05)
http://jp2.php.net/get/php-5.2.11.tar.gz/from/jp.php.net/mirror
※ 5.3もあったけど、会社の既存サービスが5.2系列なのでこっちを選んだ
3:解凍
tar xvzf httpd-2.2.14.tar.gz
tar xvzf php-5.2.11.tar.gz
4:権限変更
chown -R root:root httpd-2.2.14
chown -R root:root php-5.2.11
※ -R 下階層を含む適用
※ root:root オーナ:グループ
suでやってるから、rootになるかと思いきや、なんでかならなかった。。略可だと思う。
5:apacheのインストール
cd /tmp/httpd-2.2.14
configureでmakefileを作る
./configure
コンパイル
make
インストール
make install
これでapacheがインストールされた。
/usr/local/apache2/ が出来ている。
6:phpのインストール
cd /tmp/php-5.2.11
configureでmakefileを作る (php)
./configure --enable-mbstring
ん?と見たらエラーが出てる。
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.
libxml2ってやつを入れましょう。
7:libxml2のインストール
ダウンロード
wget -P /usr/local/src ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz
cd /usr/local/src
解凍
tar xvzf libxml2-2.7.6.tar.gz
chown -R root:root libxml2-2.7.6
cd libxml2-2.7.6
makeファイル作成
./configure --prefix=/usr/local
コンパイル
make
インストール
make install
/usr/local/lib に libxml2がたくさん入りました。
8:phpの再インストール
cd /tmp/php-5.2.11
configureでmakefileを作る (php)
./configure --enable-mbstring
意味わからんwarningが出たが成功くさい
コンパイル
make
成功したが、make test をdon't forgetだと言ってくれるのでやった。
make test
インストール
make install
これでphpがインストールされた。
/usr/local/bin/ あたりに出来ている。
とりあえずここまで。
その3で設定ファイル系の記載をしようと思います。
今回は、apacheとphpのインストールまでを記載します。
0:ログイン
cd /tmp/ でtmpに移動(どこでも可)
su - でスーパーユーザにする
1:開発ツールのインストール
OSインストール時に、開発ツールを入れ忘れて、gccなどの
コンパイラ等が入らなくてconfigureできなかったため、
yumであとからインストール
yum grouplist
yum groupinstall "Development Tools"
2:wget
apache 最新 2.2.14 (2009.11.05)
http://ftp.riken.jp/net/apache/httpd/httpd-2.2.14.tar.gz
php 最新 5.2.11(2009.11.05)
http://jp2.php.net/get/php-5.2.11.tar.gz/from/jp.php.net/mirror
※ 5.3もあったけど、会社の既存サービスが5.2系列なのでこっちを選んだ
3:解凍
tar xvzf httpd-2.2.14.tar.gz
tar xvzf php-5.2.11.tar.gz
4:権限変更
chown -R root:root httpd-2.2.14
chown -R root:root php-5.2.11
※ -R 下階層を含む適用
※ root:root オーナ:グループ
suでやってるから、rootになるかと思いきや、なんでかならなかった。。略可だと思う。
5:apacheのインストール
cd /tmp/httpd-2.2.14
configureでmakefileを作る
./configure
コンパイル
make
インストール
make install
これでapacheがインストールされた。
/usr/local/apache2/ が出来ている。
6:phpのインストール
cd /tmp/php-5.2.11
configureでmakefileを作る (php)
./configure --enable-mbstring
ん?と見たらエラーが出てる。
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.
libxml2ってやつを入れましょう。
7:libxml2のインストール
ダウンロード
wget -P /usr/local/src ftp://xmlsoft.org/libxml2/libxml2-2.7.6.tar.gz
cd /usr/local/src
解凍
tar xvzf libxml2-2.7.6.tar.gz
chown -R root:root libxml2-2.7.6
cd libxml2-2.7.6
makeファイル作成
./configure --prefix=/usr/local
コンパイル
make
インストール
make install
/usr/local/lib に libxml2がたくさん入りました。
8:phpの再インストール
cd /tmp/php-5.2.11
configureでmakefileを作る (php)
./configure --enable-mbstring
意味わからんwarningが出たが成功くさい
コンパイル
make
成功したが、make test をdon't forgetだと言ってくれるのでやった。
make test
インストール
make install
これでphpがインストールされた。
/usr/local/bin/ あたりに出来ている。
とりあえずここまで。
その3で設定ファイル系の記載をしようと思います。
LINUX勉強 ~その1~ centosとLAMP環境 [CENTOS de LAMP]
10年間、windows開発ばかりしてましたが、LAMP開発をやるチャンスがようやっと
めぐってきたため、忘れんようにメモ。
今日はサーバ設定編です。
環境は 2009.11.05 現在、Cent OS 5.4がありましたのでそちらをいれました。
今後、別途記事で php5, zend framework, mysql, apacheをインストールします。
1:ダウンロードしてインストールCDを作る
http://mirror.centos.org/centos/5/isos/ こちらよりDLしてインストールCD作成
2:OSのインストール
言われるがまま進む。
サーバなのでGUIいらねーだろっていうことで、途中で「Gnome Desktop」ってやつが
出てきてデフォルトがチェックオンなのでチェックを外す。
「追加でソフトウェアリポジトリを加える」で、開発ツールキットを選択していれておくべし。
終わったらリブート
3:ネットワーク設定
/etc/sysconfig/network-scripts/ifcfg-eth0 (もしくは1)のファイルを書き換える。
固定IP、DHCP使わない例:
DEVICE=eth0
BOOTPROTO=static
IPADDR=XXX.XXX.XXX.XXX
HWADDR=XX:XX:XX:XX:XX:XX
NETMASK=XXX.XXX.XXX.XXX
NETWORK=XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX
ONBOOT=yes
DHCP_HOSTNAME=XXXXXXXXXXXXXX
こんな感じ
終わったら、/etc/rc.d/init.d/network restart で再起動
こっからネットワークにつながってる場合Tera Term + SSHで入れた。
4:外につなぐ時、DNS名前解決できるようにする
/etc/resolv.conf を書き換える
nameserver XXX.XXX.XXX.XXX
dig yahoo.co.jp を入力して、ごにょごにょ出てくればOK
5:SELINUXを無効に
勝手に有効になってるから、/etc/sysconfig/selinux を書き換える
SELINUX=disabled にする。
6:システム情報取得ツールを入れておく
絶対いれとけと勧められた故。
※osインストール時に同時インストール可。その場合は略可
yum -y install sysstat
7:kernel 自動更新を防ぐ (8をやるならやらなくても良い)
/etc/sysconfig/kernel を書き換える
UPDATEDEFAULT=no にする。
8:システム自動更新をそもそも止める
yum -y remove yum-updatesd
window updateをやめるようなもんかな?まぁサーバだから当然だ。
9:ログイン等のグループを作っておく
groupadd グループ名
10:ユーザを作っておく
useradd -g グループ名 ユーザ名 (-gグループは略可)
passwd ユーザ名
でパスワード入力
11:システムを最新に更新しておく
手動でシステム更新
yum -y update ややかかる。
12:ssh でrootログインできないようにする
/etc/ssh/sshd_config を書き換える
#PermitRootLogin=yes を PermitRootLogin=no にする。
終わったら、再起動するため、
service sshd restart
を叩く。
13:ファイヤウォールを無効にしておく
chkconfig --list iptables と叩く。
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
と出るので、2~5がonで有効になっているのを見る。
chkconfig iptables off と叩いて確認
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
2~5がoffっているのを見る。 これで自動起動もoffになる。
あとは、/etc/rc.d/init.d/iptables status で状態を見て、有効だったらstopで止める。
ひとまずこんなところで。。。。
めぐってきたため、忘れんようにメモ。
今日はサーバ設定編です。
環境は 2009.11.05 現在、Cent OS 5.4がありましたのでそちらをいれました。
今後、別途記事で php5, zend framework, mysql, apacheをインストールします。
1:ダウンロードしてインストールCDを作る
http://mirror.centos.org/centos/5/isos/ こちらよりDLしてインストールCD作成
2:OSのインストール
言われるがまま進む。
サーバなのでGUIいらねーだろっていうことで、途中で「Gnome Desktop」ってやつが
出てきてデフォルトがチェックオンなのでチェックを外す。
「追加でソフトウェアリポジトリを加える」で、開発ツールキットを選択していれておくべし。
終わったらリブート
3:ネットワーク設定
/etc/sysconfig/network-scripts/ifcfg-eth0 (もしくは1)のファイルを書き換える。
固定IP、DHCP使わない例:
DEVICE=eth0
BOOTPROTO=static
IPADDR=XXX.XXX.XXX.XXX
HWADDR=XX:XX:XX:XX:XX:XX
NETMASK=XXX.XXX.XXX.XXX
NETWORK=XXX.XXX.XXX.XXX
GATEWAY=XXX.XXX.XXX.XXX
ONBOOT=yes
DHCP_HOSTNAME=XXXXXXXXXXXXXX
こんな感じ
終わったら、/etc/rc.d/init.d/network restart で再起動
こっからネットワークにつながってる場合Tera Term + SSHで入れた。
4:外につなぐ時、DNS名前解決できるようにする
/etc/resolv.conf を書き換える
nameserver XXX.XXX.XXX.XXX
dig yahoo.co.jp を入力して、ごにょごにょ出てくればOK
5:SELINUXを無効に
勝手に有効になってるから、/etc/sysconfig/selinux を書き換える
SELINUX=disabled にする。
6:システム情報取得ツールを入れておく
絶対いれとけと勧められた故。
※osインストール時に同時インストール可。その場合は略可
yum -y install sysstat
7:kernel 自動更新を防ぐ (8をやるならやらなくても良い)
/etc/sysconfig/kernel を書き換える
UPDATEDEFAULT=no にする。
8:システム自動更新をそもそも止める
yum -y remove yum-updatesd
window updateをやめるようなもんかな?まぁサーバだから当然だ。
9:ログイン等のグループを作っておく
groupadd グループ名
10:ユーザを作っておく
useradd -g グループ名 ユーザ名 (-gグループは略可)
passwd ユーザ名
でパスワード入力
11:システムを最新に更新しておく
手動でシステム更新
yum -y update ややかかる。
12:ssh でrootログインできないようにする
/etc/ssh/sshd_config を書き換える
#PermitRootLogin=yes を PermitRootLogin=no にする。
終わったら、再起動するため、
service sshd restart
を叩く。
13:ファイヤウォールを無効にしておく
chkconfig --list iptables と叩く。
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
と出るので、2~5がonで有効になっているのを見る。
chkconfig iptables off と叩いて確認
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
2~5がoffっているのを見る。 これで自動起動もoffになる。
あとは、/etc/rc.d/init.d/iptables status で状態を見て、有効だったらstopで止める。
ひとまずこんなところで。。。。