Gentoo LinuxにLAMP(Linux、Apache、MySQL、PHP、PhpMyAdmin)をインストールする
Gentooからソースをコンパイルすることによって達成される最大のパフォーマンスは、今日のハードウェアの処理能力を基準とするならば、最小限の影響しかありません。では、GentooをWebサーバープラットフォームとして使用する目的は何でしょうか?それは、Gentooが持つ最も重要な特性は、特定のタスクにおいてPortageが提供できる極端な柔軟性と、最終ユーザーがシステム全体に対して得られる完全な制御にあります。なぜなら、Gentooはソースからコンパイルされ、ビルドされるため、ほとんどのLinuxディストリビューションのように事前にパッケージ化されたバイナリを使用しないからです。
このガイドでは、最小限のGentooインストール環境を使用して、有名なLAMPスタック(Linux、Apache、MySQL、およびPHP/PhpMyAdmin)の手順をステップバイステップで提供します。
要件
- このチュートリアル(Gentoo Linuxのインストール)に従ってインストールされた最小限のGentoo Linux環境
ステップ1:静的IPアドレスを設定する
インストールを進める前に、システムは静的IPアドレスで設定されている必要があります。これはサーバーの場合、必須です。しかし、ネットワークの静的設定を構成する前に、ifconfigコマンドを使用してネットワークインターフェースカードの名前を表示してください。
# ifconfig -a
ご覧の通り、NICの名前は ethX、ensXX などのLinuxで使われる他の一般的な名前とは異なる場合があるため、今後の設定のためにこの名前を書き留めておいてください。
2. 以前にネットワーク用にDHCPサーバーを使用していた場合は、以下のコマンドを使用してシステムでDHCPクライアントを停止し、無効にすることを確認してください(IPやデバイスは設定に置き換えてください)。
# rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd3. 次に、NICの接続インターフェイスの名前を持つネットワークループバックデバイスからシンボリックリンクを作成し、このデバイスのための静的設定ファイルを/etc/conf.d/パスに作成します。
# ln -s /etc/init.d/net.lo /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736次の設定でこのデバイスファイルを編集してください。
config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"4. NICの静的構成の編集を終えたら、ネットワークインターフェースを起動し、ifconfigおよびpingコマンドを使用してネットワーク設定と接続を確認します。すべてが正常に構成されている場合は、起動プロセスに追加します。
# /etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 defaultDNS名サーバーをシステム全体に設定する場合は、/etc/resolv.confファイルを編集し、各DNS IPアドレスのためにnameserver文字列を追加してください。
ステップ2:LAMPをインストールする
5. ネットワーク設定が完了した後、LAMP スタックのインストールを進めてください。しかし、Gentoo プロファイルを確認し、Portage ツリーとシステムを更新する前に実行しないでください。
インターネットに接続されたサーバーには、セキュリティパッチが必要であり、おそらくシステム全体のパッケージ設定(マスク、USEフラグなど)を変更するハードンプロファイルを使用したいでしょう。以下のコマンドを使用して、プロファイルを一覧表示および変更します。
$ sudo eselect profile list
sudo eselect profile set 11
6. あなたに最も適したプロファイルが設定されたら、システムとポルタージュツリーを更新してください。
$ sudo emerge --sync
sudo emerge --update @world7. さて、LAMPのインストールを進める時間です。emerge –pv コマンドスイッチを使用して、USEフラグのためのApache Webサーバーのドキュメントを確認し、インストールを試みる前に必要なUSEフラグでPortagemake.confファイルを編集してください。
# emerge -pv apache
nano /etc/portage/make.conf8. コンパイルプロセスのためのUSEフラグを選択してください(サーバーが特定のモジュールを必要としない場合は、そのままにしておくことができます)。次に、以下のコマンドを使用してApacheをインストールします。
# emerge --ask www-servers/apache9. Apacheサービスを開始する前に、ServerNameエラーを回避するために以下のコマンドを実行し、その後httpdデーモンを開始してください。
# echo “ServerName localhost” >> /etc/apache2/httpd.conf# service apache2 start
OR
/etc/init.d/apache2 start
10. 次のステップでは、PHP 動的スクリプト言語をインストールします。PHPモジュールの豊富さのため、このチュートリアルではUSEフラグとして使用される大規模なモジュールリストを提示しますが、サーバー構成が必要とするものに従うべきです。
まず、以下のコマンドを使用して、PHPの特定のフラグを使用します。
# emerge -pv php11. 次に、/etc/portage/make.conf ファイルを編集し、PHP5.5 のために次のUSE フラグを使用します(USEフラグは1行にまとめる必要があります)。
USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"
PHP_TARGETS="php5-5"もう一つの方法は、USEフラグをエコーすることで、必要なPHPモジュールとオプションを/etc/portage/package.useファイルに含めることです。
# echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use12. 提示された2つの方法のいずれかを使用して必要なUSEフラグを選択した後、次のコマンドを使ってPHPをインストールします。
# emerge --ask dev-lang/php13. PHPのプロセスが完了するまでには、システムリソースによって時間がかかることがあります。そして、完了したら、/etc/conf.d/apache2ファイルを編集してApacheにPHPモジュールを使用するよう指示します。APACHE2_OPTSディレクティブにPHP5を追加してください。
# nano /etc/conf.d/apache2APACHE2_OPTS の行をこのようにしてください。
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"インストールされているモジュールのリストを取得するには、次のコマンドを使用します。
# ls -al /etc/apache2/modules.d/14. これまでのサーバー設定をテストするために、ローカルホストのルートディレクトリ(/var/www/localhost/htdocs/)にphpinfoファイルを作成し、Apacheサービスを再起動してください。その後、ブラウザをhttp://localhost/info.phpまたはhttp://system_IP/info.phpに向けてください。
echo "<!--?php phpinfo(); ?-->" /var/www/localhost/htdocs/info.php
# service apache2 restart
OR
/etc/init.d/apache2 restart上記の画像と同じ結果が得られた場合、サーバーは正しく設定されています。したがって、MySQLデータベースとPhpMyAdminのインストールを進めることができます。
15. MySQLデータベースをインストールする前に、パッケージのUSEフラグを確認し、必要に応じてPortageのmake.confを編集してください。以下のコマンドを使用してMySQLサーバーデータベースを確認およびインストールします。
# emerge -pv mysql
emerge --ask dev-db/mysql16. MySQLサーバーを起動する前に、以下のコマンドを使用してシステムにMySQLデータベースがインストールされていることを確認してください。
# /usr/bin/mysql_install_db17. それでは、MySQLデータベースを起動し、mysql_secure_installationを使用してセキュリティを確保します。具体的には、ルートパスワードを変更し、localhost以外のルートログインを無効にし、匿名ユーザーとテストデータベースを削除します。
# service mysql start
mysql_secure_installation18. データベース機能をテストするために、以下のコマンドを発行してMySQLにログインし、quitステートメントでデータベースから退出します。
mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;19. MySQLサーバーを管理するためのグラフィカルインターフェースが必要な場合は、次のコマンドを実行してPhpMyAdminパッケージをインストールします。
# emerge -pv phpmyadmin
emerge dev-db/phpmyadmin20. パッケージがコンパイルされてインストールされた後、PhpMyAdminのテンプレートファイルをコピーして設定ファイルを作成し、任意の文字列を使ってblowfish_secretパスフレーズを置き換えます。
# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php21. ブラウザを開いて、以下のURLを使用してPhpMyAdminのログインプロセスをテストします。
http://localhost/phpmyadmin22. すべてが整っていれば、以下のコマンドを使用してサービスをシステム全体で利用可能にすることで、再起動後に自動的にサービスを開始することを検討してもよいでしょう。
# rc-update -v add apache2 default
rc-update -v add mysql defaultそれだけです!これで、Gentooが提供する高い柔軟性とカスタマイズ性を持つサーバープラットフォーム上に、Apache、PHPスクリプト言語、リレーショナルMySQLデータベースを備えたダイナミックなウェブ環境が整いました。

























