さくらVPSでLAMP + Wordpress環境を構築する方法まとめ
学習用にさくらVPSでLAMP環境を構築したので、手順をまとめます.
目次
動作環境
OS : macOS Mojave 10.14.6
VPS OS : centOS
手順
さくらVPSの申し込み
-
さくらのwebサイト>VPS>2週間無料でお試し
にアクセス
サーバをカートに入れ申し込み. -
メールに記載されているIDとパスワードでログインし,VPSコントロールパネルにログイン
-
各種設定>OSインストール
*OSをインストールする際にVPSにログインするためのパスワードを入力するので忘れずにメモします.
これでさくらVPSの申し込みからOSのインストールまでが完了です.
ssh接続
つぎにローカルPCからインターネット上のVPSに接続するためのSSH接続の設定手順をまとめます.
1. Terminal起動とroot権限でログイン
手元のMACでTerminalを起動します.
そして以下のsshコマンドで接続します.
パスワードはOSをインストールした際に入力したものです.
$ ssh root@VPSのIPアドレス
2. ソフトウエアのupdate
$ yum update
3. 一般ユーザの作成
$ adduser jun1 #user追加
$ passwd jun1 #password設定
sudoが使えるように設定
$ visudo
wheel ALL=(ALL) ALL #コメントアウトを外す
jun1ユーザをwheelグループに追加
$ usermod -aG wheel jun1
$ groups jun1
jun1 : jun1 wheel
jun1でログインできるか確認
$ ssh jun1@VPSのIPアドレス
$ パスワード入力
4. ssh鍵認証の設定
ローカルのPCのターミナルを起動して実行
MAC$ ssh-keygen -t rsa -v
MAC$ ls ~/.ssh
config id_rsa id_rsa.pub known_hosts
sshでVPSに接続
VPS$ mkdir .ssh
VPS$ chmod 700 .ssh
ローカルPCからVPSへ公開鍵を転送
MAC$ scp ~/.ssh/id_rsa.pub jun1@VPSのIPアドレス:~/.ssh/authorized_keys
MAC$ VPSのパスワード入力
鍵を利用してサーバにログイン
MAC$ ssh -i ~/.ssh/id_rsa jun1@VPSのIPアドレス
ssh接続のセキュリティ設定
1.ポート番号の設定
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ort #設定ファイルのバックアップ
$ sudo vim /etc/ssh/sshd_config
Portを検索し、#を消して, 22 -> 56789(任意の番号で可)
2.パスワード認証の無効化
PasswordAuthenticationを検索し、
noに変更
3.rootログインの無効化
PermitRootLoginで検索し,noに変更
4.設定ファイルの確認
$ sudo sshd -t #設定ファイルに構文ミスがないか確認.何も出なければOK
$ sudo systemctl restart sshd #sshdの再起動
5.ファイアウォールの設定
$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-56789.xml
$ sudo vim /etc/firewalld/services/ssh-56789.xml
port番号を22 -> 56789に変更
$ sudo firewall-cmd --reload
>success
$ sudo firewall-cmd --permanent --add-service=ssh-56789
>success
$ sudo firewall-cmd --reload
>success
$ sudo firewall-cmd --list-all
>ssh-56789
6.SSH動作確認
上記で開いていたターミナルを閉じずに別タブを開く
$ ssh -p 56789 -i ~/.ssh/id_rsa jun1@VPSのIPアドレス
7. sshをファイアウォールから削除
$ sudo firewall-cmd --permanent --remove-service=ssh
$ sudo firewall-cmd --reload
最後に念の為、ssh接続できるか確認
$ ssh -p 56789 -i ~/.ssh/id_rsa jun1@VPSのIPアドレス
apacheのインストール
$ sudo yum install httpd
Apacheを起動
$ sudo systemctl start httpd
$ systemctl status httpd
# Activeと表示されているか確認
Firewallの設定
$ sudo firewall-cmd --add-service=http --zone=public --permanent
$ sudo firewall-cmd --add-service=https --zone=public --permanent
$ sudo systemctl restart firewalld
さくらVPSのパケットフィルタの設定
さくらVPSのコントロールパネル>設定>パケットフィルタ>WEBを許可
ブラウザからApacheの動作確認
ブラウザにVPSのIPアドレスを入力し,以下のテストページが表示されればOK
Apacheの自動起動の設定
$sudo systemctl enable httpd
権限の設定
ドキュメントルートの所有権をapacheに変更します.
$sudo groupadd web #グループの作成
$sudo usermod -aG web jun1 #グループにユーザの追加
$sudo chown apache:web /va/www/html/
$sudo chmod -R 775 /var/www/html/
htmlファイルを作成しApacheの動作確認
$ vim /var/www/html/index.html
# 適当に編集して保存
ブラウザから開いて確認
ドメインの設定
ドメイン取得サイトから購入
今回はバリュードメインに会員登録し、購入します。
DNS設定
バリュードメインにログインし、DNSを設定
詳細は各ドメインサイトから確認します.
a VPSのIPアドレス
ブラウザにドメインを入力し、表示されるか確認
*DNSの反映には1日かかることもあります.
リポジトリの設定
2つのリポジトリをインストールします.
epelリポジトリ(Linuxのリポジトリ)
remiリポジトリ(PHPのリポジトリ)
epelリポジトリ
$sudo yum repolist
# epelリポジトリがない場合は以下実行
$sudo yum install epel
remiリポジトリ
ブラウザからremiリポジトリのURLをコピー
$sudo yum localinstall remiのurl
phpのインストール
インストールできるバージョンを確認
$ yum list available | grep php-
php71-common.x86_64を確認
$ sudo yum --enablerepo=remi-php71 install php php-devel php-mysql php-gd php-mbstring
Apaceh再起動
$ sudo systemctl restart httpd
PHPの設定
$ sudo cp /etc/php.ini /etc/php.ini.org #設定ファイルのバックアップ
$ sudo vim /etc/php.ini
ファイルのアップロード上限を変更
post_max_size = 128M #8M -> 128M
upload_max_filesize = 128M #2M -> 128M
Apaceh再起動
$ sudo systemctl restart httpd
PHPの動作確認
<?php
echo 'Hello World';
ブラウザにドメイン名を入力し,index.phpを確認する
mysqlのインストール
MariaDBの削除
$ sudo yum remove mariadb-libs
$ sudo rm -rf /var/lib/mysql
MySQLインストール
MySQL 5.7をインストールする
$ sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
$ sudo yum install mysql-community-server
MySQLの設定
$ sudo systemctl start mysqld
$ sudo cat /var/log/mysqld.log | grep 'temporary password' #初期接続パスワードを確認
$ mysql_secure_installation
# 以下、指示どおり設定していく
$ mysql -u root -p
# ログインできるか確認
文字コードをUTFに変更
$ sudo vim /etc/my.conf
character-set-server=utf8
$ sudo systemctl restart mysqld
自動起動の設定
$ sudo systemctl enable mysqld
sslの設定
certbotを利用するためバーチャルホストを設定
$ sudo vim /etc/httpd/conf.d/ドメイン名.conf
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName ドメイン名
</VirtualHost>
certbotをインストール
certbotのwebサイトからソフトウエアとOSを選択
$ sudo vim install certbot-apache
証明書を取得
$ sudo certbot --apache
動作確認
ブラウザにドメイン名を入力し、httpsになっているか確認
wordpressのインストール
DBの準備
$ mysql -u root -p
mysql> create database myblog;
mysql> create user 'myblog_user'@'localhost' identified with mysql_native_password by '任意のpassword'
mysql> grant all privileges on myblog.* to 'myblog_user'@'localhost';
mysql> flush privileges;
wordpressのダウンロード
$ wget https://ja.wordpress.org/latest-ja.tar.gz
$ sudo tart -zxvf latest-ja.tar.gz
-C /var/www/
# 圧縮ファイルを展開
$sudo chown -R apache:web wordpress/
$sudo vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/wordpress"
<Directory "/var/www/wordpress">
DocumentRoot /var/www/wordpress
DocumentRoot /var/www/wordpress
wordpressの確認
終わりに
今回はさくらVPSにLAMP環境を構築する学習の内容をまとめました。
Linuxコマンドの勉強になりました。