最近、仮想マシンに Centos7 をインストールして LAMP サーバーを設定しましたが、多くの問題に直面しました...o (╥﹏╥) o、記録を残す必要があります。
更新:nginx と node のインストール
Centos7 のインストール#
- インターネットから ISO イメージをダウンロードし、ステップバイステップでインストールしてください。初心者の場合は GNOME デスクトップ版を選択することをお勧めします。
Apache、Mysql、PHP のインストール#
-
Apache
Apache のソフトウェアパッケージの名前は httpd です。
yum install httpd
プロンプトが表示されたら、y を入力して Enter キーを押してください。Apache を起動し、起動時に自動的に起動するように設定します。
systemctl start httpd.service
systemctl enable httpd.service
httpd サービスの状態を確認します:
systemctl status httpd.service
緑色のactive(running)
が表示され、httpd サービスが実行されていることを示します。enabled
は、httpd サービスが起動時に自動的に設定されていることを示します。これで HTTP プロトコルが起動しますが、ポート 80 を使用するため、ファイアウォールを無効にします。
systemctl stop firewalld.service
ファイアウォールを停止します。
systemctl disable firewalld.service
起動時にファイアウォールを無効にします。現在、
ip addr
コマンドを使用して現在のシステムの IP アドレスを確認し、ブラウザでアクセスすると Apache のページが表示されます。
ヒント:ここで仮想マシンの内部 IP を静的に設定し、ホストの hosts ファイルを変更して、http://myserver のようなエイリアスに割り当てることもできます。 -
PHP
yum install php
必要に応じて/etc/php.ini
に移動して設定を変更できます。
Apache が正常に php を呼び出せるかどうかをテストするために、/var/www/html ディレクトリに phpinfo を出力するファイルを作成します。
vim /var/www/html/phpinfo.php
ブラウザで開いて php 情報ページが表示されれば、正常に動作しています。
その後、一般的な拡張機能をインストールします。
yum -y install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc
-
Mysql
ここでは、MariaDB のインストールをお勧めします(RHEL 7 以降、Red Hat は Mysql の代わりに MariaDB の使用を推奨しています)。
yum install mariadb-server mariadb
systemctl start mariadb
mariadb を起動します。
systemctl enable mariadb
起動時に mariadb を有効にします。ここでデータベースデーモンを起動できます。
mysql_secure_installation
root パスワードの設定、リモートからの root ログインの許可などを設定します。mysql -u root -p
を使用して root アカウントで mariadb にログインします。
show mysql
で mysql に切り替えます。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
ログイン権限をリモートログインを許可するように変更します。
Apache の仮想ディレクトリの設定#
Apache のデフォルトのプロジェクトディレクトリは /var/www ですが、このディレクトリを編集するには root ユーザーである必要があります。そのため、Apache が認識できるようにカスタムディレクトリを作成する必要があります。
vim /etc/httpd/conf/httpd.conf
で Apache の設定ファイルを開きます。
<dir alias_module>
を見つけ、内部に以下を追加します。
例:
Alias /myweb "/home/daybreak/www"
<Directory "/home/daybreak/www">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ここで私のカスタムパスは /home/daybreak/www で、エイリアスは myweb です。ブラウザでhttp"//myserver/myweb
を入力すると、実際のディレクトリ /home/daybreak/www のファイルにアクセスできます。
注意:直接アクセスすると 403 Forbidden のエラーが発生する可能性があります。次の解決策を試してください。
- 仮想ディレクトリの設定でディレクトリアクセスの許可が設定されていることを確認してください(
Require all granted
)。 - 403 エラーが発生する場合は、ウェブサイトディレクトリのパーミッションの問題かもしれません。Apache はディレクトリに実行権限(x)を要求するため、アクセスするディレクトリツリーにこれらの権限があることを確認してください。例えば、私のディレクトリは /home/daybreak/www なので、次のコマンドを実行する必要があります。
chmod 755 /home
chmod 755 /home/daybreak
chmod 755 /home/daybreak/www
または、直接 chmod 755 -R /home
- それでも 403 エラーが発生する場合は、selinux の問題です。ディレクトリに selinux の権限を設定してください。
chcon -R -t httpd_sys_content_t /home
これで正常にアクセスできるようになりました。
追加:nginx と node のインストール#
nginx のインストール#
-
Centos7 の nginx yum リポジトリを追加します:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
-
yum でインストールします:
sudo yum install -y nginx
-
nginx を起動し、起動時に自動的に起動するように設定します:
sudo systemctl start nginx && sudo systemctl enable nginx
-
nginx の設定ファイルをテストします(nginx の設定位置を確認する):
nginx -t
node のインストール#
-
公式のバイナリパッケージを使用してインストールします:
-
公式ウェブサイトダウンロードリンクにアクセスし、ダウンロードしたいバージョンのリンクとバージョン (*-linux-x64.tar.gz) を選択し、ユーザーホームディレクトリに
wget
コマンドを使用してダウンロードします:wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4-linux-x64.tar.gz
-
ダウンロードが完了したら、/usr/local ディレクトリに解凍してインストールします:
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local
-
インストールが完了したら、インストールを確認します:
node -v v8.9.4
-
-
ソースコードからのインストール:
-
ソースコードからのインストールは、ソースコードをコンパイルしてインストールする必要がある点でバイナリパッケージからのインストールと異なります。
-
公式ウェブサイトダウンロードリンクにアクセスし、バージョン (node-v*.tar.gz) を選択します:
wget https://nodejs.org/download/release/v8.9.4/node-v8.9.4.tar.gz
-
ダウンロードが完了したら、解凍して展開されたディレクトリに移動します。
tar xzvf node-v8.9.4.tar.gz && cd node-v8.9.4
-
ソースコードをコンパイルするために
gcc
とgcc-c++
をインストールする必要があります(yum info package_name
を使用してインストールされているかどうかを確認できます):sudo yum install gcc gcc-c++
-
インストールが完了したら、
configure
ファイルを実行してコンパイルし、コンパイルが完了したらインストールします:./configure && make && make install
-
-