サーバーをたてる!(WordPress準備編)

WordPressをApacheに入れます

お約束

ubuntu 14.04 のアップデートを確認

root@localhost:~# sudo apt-get update

アップデートを適用

root@localhost:~# sudo apt-get upgrade

使わなくなったパッケージを削除

root@localhost:~# sudo apt-get -y dist-upgrade

autoremove

root@localhost:~# sudo apt-get -y autoremove

aptのキャッシュを削除

root@localhost:~# sudo apt-get -y autoclean

 

Apache2自動起動設定

~$ sudo apt install software-properties-common
~$ sudo apt-get install sysv-rc-conf
~$ sudo sysv-rc-conf apache2 on

 

Apacheセキュリティ対策
ハッカー様にあげる情報を減らして差し上げる基本的な操作

iconsフォルダ非表示化

~$ vim /etc/apache2/mods-enabled/alias.conf

##ファイルの中で以下の部分をごっそりコメントアウト

  <Directory "/usr/share/apache2/icons">
        Options FollowSymlinks
        AllowOverride None
        Require all granted
  </Directory>

ディレクトリリスティング無効化

~$ vim /etc/apache2/apache2.conf

##ファイルのこの部分を
<Directory /var/www/>
        #Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

##このように編集
<Directory /var/www/>
        #Options Indexes FollowSymLinks
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

HTTP TRACE 無効化

vim /etc/apache2/apache2.conf

##最下部に以下を追記
# HTTP TRACE off
TraceEnable off

たぶんすごいハッカーが本気を出したらこんなの意味ないのだろうな…

 

PHPインストール
慣れていなかったぼくは、パッケージ化されてなかったPHP7.2を
入れようとして、わけがわからなくなり、一度初期化…
慣れるまでPHP5でいきます( ・∇・)

~$ sudo apt install php5 libapache2-mod-php5 php5-mcrypt php5-mysql php5-gd

MySQLインストール
MySQL(データーベース)をインストール
途中でホップアップみたいなのがでるのでパスワードを設定

~$ sudo apt install mysql-server

WordPress用のデーターベースを作成

~$ mysql -u root -p
> CREATE DATABASE データーベース名 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

MySQLの操作を終了

> exit

データーベース自動起動設定

~$ sudo sysv-rc-conf mysqld on

 

WordPressインストール

wp-cilをインストール

~$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

ディレクトリ生成

~$ sudo mkdir /var/www/html/wacode/

WordPressファイルダウンロード

~$ sudo wp core download --locale=ja --path=/var/www/html/wacode --allow-root

 

WordPress有効化

.htaccess作成&660権限設定

~$ sudo touch /var/www/html/wacode/.htaccess
sudo chmod 660 /var/www/html/wacode/.htaccess

更新ファイル用ディレクトリ作成

~$ sudo mkdir /var/www/html/wordpress/wp-content/upgrade

デフォルト設定ファイル作成

~$ sudo cp /var/www/html/wacode/wp-config-sample.php /var/www/html/wacode/wp-config.php

パスフレーズランダム生成

~$ curl -s https://api.wordpress.org/secret-key/1.1/salt > ~/tmp_pass

WordPress設定変更

~$ sudo vim /var/www/html/wacode/wp-config.php

##ここに必要情報を入力
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD', '');

##さっき作ったパスフレーズ入力
define('AUTH_KEY', '');
define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY',    ');
define('NONCE_KEY', '');
define('AUTH_SALT', '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT', '');
define('NONCE_SALT', '');

##最後の方のやつを書き換える
define('FS_METHOD', 'direct');

 

ディレクトリアクセス権限設定
これと、この次のやっておかないと
Wordpressで作り始めてから
NotFound連発することになります(なった)

sudo chmod -R g+w /var/www/html/wacode/

Apache側でのWordpressディレクトリ設定

~$ sudo vim /etc/apache2/apache2.conf

##追記する
<Directory /var/www/html/wacode>
    AllowOverride All
</Directory>

 

Apache設定変更を反映
これしないと、サーバー再起動時に元に戻っちゃうらしい

~$ sudo apache2ctl configtest
~$ sudo a2enmod rewrite
~$ sudo service apache2 restart

 

SSL化
Let’s encryptでSSL化する

Let’s encryptのツールをインストール

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ apt-get install python-certbot-apache -y

コマンドを実行

~$ letsencrypt --apache

設定ウィザードがEmailアドレスとか
httpでアクセス許可するかとか
サービス利用規約いい?とか聞いてくるので
答えながら進む

work by:

となったら設定完了

 

証明書自動更新設定
ほっておくと証明書が90日で切れちゃうので設定

~$ sudo certbot renew --dry-run
~$ certbot renew

 

終わりに

https://www.washio.net/wacodeでWordpressログイン画面へ
前回に引き続き、間違っていたら教えてください…

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です