apache,mysql,phpをソースからインストールしたメモ
LAMP環境構築の備忘録。
構築環境
PHP7つかうよおおおおおほおおおお
apacheインストール
依存パッケージやらインストール準備
$ sudo yum install pcre-devel
2.4からapache本体に同梱されなくなったapr,apr-util
$ cd /usr/local/src $ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-1.5.2.tar.gz $ tar xvzf apr-1.5.2.tar.gz $ cd apr-1.5.2 $ ./configure --prefix=/usr/local $ make $ sudo make install $ cd /usr/local/src $ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//apr/apr-util-1.5.4.tar.gz $ tar xvzf apr-util-1.5.4.tar.gz $ cd apr-util-1.5.4 $ ./configure --prefix=/usr/local --with-apr=/usr/local $ make $ sudo make install
apache本体DL
$ cd /usr/local/src $ wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache//httpd/httpd-2.4.18.tar.gz
インストール
2.4からmpmがevent-mpmに変わったけど、phpが推奨してるprefork指定
event-mpm使うならFastCGI使う
参考:http://php.net/manual/ja/faq.installation.php#faq.installation.apache2
$ ./configure --with-mpm=prefork --enable-mods-shared=all $ sudo make install
起動&確認
$ sudo /usr/local/apache2/bin/apachectl start $ curl http://localhost/
mysqlインストール
mysqlユーザー作成
$ sudo groupadd mysql $ sudo useradd -g mysql -s /sbin/nologin mysql
依存パッケージやらインストール準備
CentOS7からデフォルトのDBになったmariadbも競合するので消しとく
$ sudo yum install cmake $ sudo yum install ncurses-devel $ sudo yum -y remove mariadb-libs
mysql本体インストール
$ cd /usr/local/src $ wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gz $ tar xvzf mysql-5.7.10.tar.gz $ cd mysql-5.7.10 $ cmake . -DDEFAULT_CHARSET=utf8mb4 \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDOWNLOAD_BOOST=1 \ -DWITH_BOOST=/usr/local/src $ make $ sudo make install
my.cnfに追加
$ sudo cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf $ sudo vi /etc/my.cnf
[client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4 explicit_defaults_for_timestamp = 1 default_password_lifetime = 0
初期化(5.7からmysql_install_dbはdeprecated)
$ sudo chown -R mysql:mysql /usr/local/mysql $ sudo /usr/local/mysql/bin/mysqld --initialize-insecure \ --basedir=/usr/local/mysql \ --datadir=/usr/local/mysql/data \ --user=mysql
起動&ログイン
$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql & $ /usr/local/mysql/bin/mysql -u root
MYSQL rootパスワード設定
mysql> use mysql; mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'すきなぱすわーど' mysql> exit
phpインストール
依存パッケージ入れる
$ sudo yum install libxml2-devel $ sudo yum install curl-devel
PHP本体インストール
$ cd /usr/local/src $ wget http://jp2.php.net/get/php-7.0.1.tar.gz/from/this/mirror -O php-7.0.1.tar.gz $ tar xvzf php-7.0.1.tar.gz $ cd php-7.0.1 $ ./configure --with-pdo-mysql=/usr/local/mysql \ --with-apxs2=/usr/local/apache2/bin/apxs \ --enable-mbstring \ --without-gd \ --with-zlib \ --with-curl $ make $ sudo make install $ sudo cp php.ini-development /usr/local/lib/php.ini
$ sudo vi /usr/local/apache2/conf/httpd.conf
#追加 AddType application/x-httpd-php .php
再起動してphpinfo表示確認
$ sudo /usr/local/apache2/bin/apachectl stop $ sudo /usr/local/apache2/bin/apachectl start $ sudo chmod 777 /usr/local/apache2/htdocs $ echo "<?php phpinfo();?>" > /usr/local/apache/htdocs/test.php $ curl http://localhost/test.php