2020/08/27 CentOS7(Wordpress)~Wordpressインストールまで~
前回に続き、Wordpressのインストールまで
必要なもの
WordpressではLAMPの環境が必要になる。
前回作成した、CentOS7の環境で進めていく
OS:CentOS7
Webサーバ:Apache
PHP:7.3
DB:MySQL
今回はコンフィグファイルについては細かくは確認しない。
来週あたりにまた別でまとめようと思う。
構築
Apacheのインストール
インストール
sudo yum install httpd
起動が完了したら一度、プロセスを起動して確認してみる。
sudo systemctl --now enable httpd
※ --nowをつけることで、自動起動設定と同時にstartもできるらしい。
sudo systemctl enable httpd
sudo systemctl start httpd
と同じ。
実際にWebサーバとして動いているか確認するために、curlコマンドを試す
curl h ttp://localhost
コンテンツが取得される。
次に443のHTTPSについて試す。
curl h ttps://localhost
url: (7) Failed connect to localhost:443
エラーが帰ってくる。これはApache側で443で待ち受ける設定を行っていないため。
注意
この時点では他のホストのブラウザからはアクセスできない。
CentOS7ではデフォルトでfirewalldの設定が行われており、遮断されるため。
PHPのダウンロード
今回はPHPのバージョンは7.3を選択する。
デフォルトでPHPが入っている場合、競合が起きてしまう可能性を考慮して、削除する。
yum remove php*
本当に消していいかは確認するべき。
次にPHPのインストール。
CentOSではデフォルトで5.4系をDLする。
それ以降のバージョンを指定する場合、自らリポジトリを登録する必要がある。
リポジトリの登録
sudo yum install h ttp://rpms.famillecollet.com/enterprise/remi-release-7.rpm
インストールが完了すると、リポジトリに追加されている。
リポジトリの位置を確認するには、/etc/yum.repos.d/を確認する。
リポジトリの確認ができたら、phpのインストール
まずは、インストールされるものを確認する。
yum info php73
問題なければ、インストール
PHPに必要な拡張モジュールもインストールする。
デフォルトで有効ではないリポジトリを選択する際は、enableしてあげる。
yum install php73
sudo yum install --enablerepo=remi,remi-php73 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql
PHPがインストールされたので、Apacheを再起動する。
systemctl restart httpd
次に、テストを行うため、ドキュメントルートにphpファイルを設置する。
まずは、ディレクトリの権限を変更
chown -R apache.apache /var/www/html/
デフォルトのドキュメントルートは/var/www/html
code:/var/www/html/index.php
<html>
<body>
<?php echo phpinfo(); ?>
</body>
</html>
注意
公開されたWebサーバでphpinfoを行ってしまうと、意図しない相手に覗かれてしまい、
攻撃者に情報を与えることになる。あくまでプライベートな空間のみにすべき?
ここまで、設定を行ったが、他のホストからは見ることができない、
ファイアウォールの許可をする。
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
これを行うと、外部からのアクセスが可能になる。
ブラウザから確認してみる。
https://gyazo.com/e7c9c7dcaa4bc5fc56e53bd25343c27d
httpsでは待ち受けていない。
確認するコマンドは
ss -an | grep LISTEN
80のみが公開されている。(その他SSH等も公開されている)
MySQLのインストール
MySQLをインストールする。
今回はmariadbではなくMySQL
MySQLのリポジトリの追加
sudo yum install h ttp://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
MySQLがリポジトリに追加されたので、インストールし、起動
初回の起動は少し時間がかかる。
sudo yum install mysql-server
sudo systemctl enable --now mysqld
mysqlには初期パスワードが設定されている。
ログに出力されているため、確認する。
cat /var/log/mysqld.log | grep password
このように表示された。
2020-08-28T07:47:59.523542Z 1 [Note] A temporary password is generated for root@localhost: hogehogehoge
hogehogehogeの部分がパスワード
mysqlの初期セキュリティ設定
mysql_secure_installation
Wordpressインストール
まずはWordpressをダウンロードする。
次に解凍
tar -xzvf latest.tar.gz
これを行うと、「wordpress」ディレクトリが作成される。
ドキュメントルートに移動
mv wordpress /var/www/html
権限
chown -R apache:apache wordpress
wordpressディレクトリに入る。
cd /var/www/html/wordpress
wp-config-sampled.phpをwp-config.phpとしてコピーする
cp wp-config-sample.php wp-config.php
wp-config.phpを編集する。
code:wp-config.php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wp-user');
define( 'DB_PASSWORD', '<pass>' );
define( 'AUTH_KEY', '<hogehoge>' );
define( 'SECURE_AUTH_KEY', '<hogehoge>' );
define( 'LOGGED_IN_KEY', '<hogehoge>' );
define( 'NONCE_KEY', '<hogehoge>' );
define( 'AUTH_SALT', '<hogehoge>' );
define( 'SECURE_AUTH_SALT', '<hogehoge>' );
define( 'LOGGED_IN_SALT', '<hogehoge>' );
define( 'NONCE_SALT', '<hogehoge>' );
<hogehoge>のソルト値についてはランダムで作成。
MySQLにて上で設定したユーザとデータベースの作成
mysql -u root -p
password: <pass>
ユーザの作成
CREATE USER 'wp-user'@'localhost' IDENTIFIED BY '<pass>';
データベース作成
create database wordpress default character set utf8;
権限の設定
GRANT ALL PRIVILEGES ON wordpress.* TO "wp-user"@"localhost";
権限の有効
FLUSH PRIVILEGES;
ブラウザから設定
ブラウザからアクセスする。
https://gyazo.com/337dd1eaeedbc9282e9ec52474593c47
このような画面が表示される。日本語を選択する。
表示されない場合
/var/log/httpd/error.log
デフォルトの場合上記のファイルからエラーを確認する。
https://gyazo.com/ba9e6bf11892255548a0153d3ceebe69
これらを入力する。
インストールを選択
https://gyazo.com/c8f91dbd4f66efa6d48173e212d3ad7d
ログインページから先程決めたものを入力することでログイン出来る。
https://gyazo.com/3fcfa2de82dcac96843558f2f1143336
ここまでで、Wordpressのインストールは完了。
細かい設定などはまた別の記事にする。