- 追加された行はこの色です。
- 削除された行はこの色です。
*Apache [#ke3350cb]
[[Apache:+http://httpd.apache.org/]]
Linux用WWWサーバの代名詞。
apache2.4からは設定方法が色々と変更されているので注意。
*MySQL [#d6256ed2]
[[MySQL:+http://dev.mysql.com/]]
[[mariaDB:+https://mariadb.org/]]
MySQL vs mariaDBが続いているけれど、ぶっちゃけ中身はほぼ同じなのでどっちでも良い。
一応、mariaDBの方が高機能らしいが殆ど変わらないと思う。
MySQL5.5から&font(b){./configureではなく、cmakeを使う};ようになった。
~
*インストール [#c99547a5]
&size(16){&font(b){1. 前準備};};
ソースから入れる前にpkgconifgを統一しておく。
他の場合でもやった方がよさそうだが、書くのが面倒くさいので省略。
(Linux入れたら、とりあえずLAMP構築するだろうからここだけで大丈夫だべ)
# cd /usr/local/lib64
# ln -s /usr/lib64/pkgconfig .
# cd /usr/local/lib
# mkdir /usr/lib/pkgconfig
# ln -s /usr/lib/pkgconfig .
後は、https通信用に[[OpenSSL>Linux/Source/OpenSSL]]も入れておく。
~
&size(16){&font(b){2. APRのビルド・インストール};};
apacheのソースと一緒にビルドする方法もあるらしいが、
自分の環境では上手くいかなかったので別々にビルドする。
# tar zxvf apr-1.4.6.tar.gz
# cd apr-1.4.6
# ./configure --prefix=/usr/local/apr
*インストール [#u7d6d771]
&size(16){&font(b){1. ビルド};};
//MySQL 5.1系統
# tar zxvf mysql-5.1.73.tar.gz
# cd mysql-5.1.73
# ./configure --prefix=/usr/local/mysql --without-readline
# make
# make test
# make install
~
&size(16){&font(b){3. APR-Utilのビルド・インストール};};
# tar zxvf apr-util-1.5.1.tar.gz
# cd apr-util-1.5.1
# ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
//MySQL 5.5系統
# tar zxvf mysql-5.6.15.tar.gz
# cd mysql-5.6.15
# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
# make
# make test
# make install
~
&size(16){&font(b){4. Apacheのビルド・インストール};};
initの名前を“httpd”にするとyumとかで入れた物と被ってエラーになる場合がある。
よって、今回は“apache”という名前にしてインストールする。
[[PCRE>Linux/PCRE]]がまだ入ってない場合は、apacheのソースをビルドする前に入れておく事。
# tar zxvf httpd-2.4.3.tar.gz
# cd httpd-2.4.3
# vi config
&font(b){※全部一行で書く};
--prefix=/usr/local/apache
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/openssl --with-pcre=/usr/local/pcre
--enable-ssl --enable-suexec --enable-rewrite --enable-auth-digest --enable-dav --enable-so
# ./configure `cat ./config`
# make
# make install
&size(16){&font(b){2. MySQLの設定・起動準備};};
&font(b){&color(#ff0000){x86_64のOSを使っているのなら、下を必ず行う事!!};};
# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64
~
*設定 [#te0c66db]
&size(16){&font(b){I. apacheスクリプトのコピー};};
# cp /usr/local/apache/bin/apachectl /etc/init.d/apache
# chmod 755 /etc/init.d/apache
# ln -s /etc/init.d/apache /etc/init.d/httpd
# ln -s ../init.d/apache /etc/rc3.d/S96apache
MySQL用のユーザを作成する。
# groupadd mysql
# useradd -g mysql -d /var/mysql -s /sbin/nologin mysql
# rm -rf /var/mysql/*
# rm -rf /var/mysql/*.*
~
&size(16){&font(b){II. ユーザーの準備};};
# adduser www -d /var/apache -s /sbin/nologin
# rm -rf /var/apache
# mkdir -p /var/apache/html
# chown -R root.www /var/apache
起動スクリプトの設置を行う。コピーしたスクリプトの中身も書き換える。
# {MySQLのソースコード}/support-files/mysql.server /etc/init.d/mysqld
# chmod 755 /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on
~
&size(16){&font(b){III. apacheの設定};};
# cd /usr/local/apache/conf
&font(b){※以下のファイルを設定していく。他は必要の応じて};
# vi httpd.conf
# vi extra/httpd-default.conf
# vi extra/httpd-languages.conf
MySQLのデータベースを初期化する。
# /usr/local/mysql/scripts/mysql_install_db --user=mysql --ldata=/var/mysql
~
*アクセス制限 [#v84ad922]
apache2.2系統とapache2.4系統ではアクセス制限のやり方が変わっているので注意
&size(16){&font(b){A. apache2.2};};
全てのアクセス許可する
Order allow,deny
Allow from all
全てのアクセスを拒否する
Order deny,allow
Deny from all
&size(16){&font(b){3. MySQLの起動後設定};};
起動した後に、データベース内のゴミを削除する。
# /etc/init.d/mysqld start
# mysqladmin -u root password {MySQLのrootユーザパスワード}
# mysql -u root -p
Enter password: {MySQLのrootユーザパスワード}
> use mysql;
> delete from user where user='';
> delete from user where password='';
> drop database test;
> flush privileges;
> exit
~
&size(16){&font(b){B. apache2.4};};
全てのアクセスを許可する
Require all granted
&size(16){&font(b){4. MySQLのユーザ・パスワード・データベース登録};};
(例) ユーザ:hoge , パスワード:pass , データベース名:bar
# mysql -u root -p
Enter password: {MySQLのrootユーザパスワード}
> create database bar;
> grant all on bar.* to hoge identified by 'pass';
> flush privileges;
> exit
全てのアクセスを拒否する
Require all denied