Raspberry Pi Apache での WordPress サーバー構築

Raspberry Pi ノウハウと作品集
Apache ならパーマリンクの変更が可能
 
naw01現在運用している、nginx での WordPress では、パーマリンクの変更が出来ない。あらゆる方法を試してみるもうまく行かず、最後の手段として、Apache で WordPress を構築すれば、パーマリンクの変更ができるのではないかと、Webサーバーの再構築に挑む。

raspi2b_2この為に、現行の本番サーバーのバックアップも考慮して、一世代前ではあるが Raspberry Pi 2 Model B を購入した。
  
結論 : Apache ならパーマリンクの変更が可能となる。
以下、セットアップ記録。
 
 

 

スポンサー リンク

 

 
 

1.Raspbian セットアップ
2016-05-27-raspbian-jessieでのセットアップを行う。
Raspbian Jessieの初回起動は、いきなりX WindowsのGUI環境が立ち上がるので、GUIで基本的な設定を行うが、次の3点がポイント。
①.文字化けとキーボードがおかしいので再設定

sudo raspi-config

・ Change Locale: ロケール(文字コード等)を設定する
   【en_GB.UTF-8 を解除し,en_US.UTF-8 と ja_JP.UTF-8 を選択する.デフォルトは en_US.UTF-8 としておく】
・ Change Keyboard Layout: キーボードを設定する
   【使用するキーボードに合わせて(日本語キーボードの場合は “Generic 105-key (Intl) PC” > “Others” >  "Japanese" > "Japanese" ...)】

②.ディスプレイの設定をやるべし

sudo nano /boot/config.txt 
hdmi_ignore_edid=0xa5000080 ← 先頭行に追加
Disable_overscan=1
hdmi_group=2
hdmi_mode=35

③.ipアドレスの固定化
Raspbian jessie での固定IPアドレス設定は

sudo nano /etc/dhcpcd.conf

で、/etc/dhcpcd.conf ファイルの最下部に、以下を追記。

interface eth0
static ip_address=192.168.11.xxx/24
static routers=192.168.11.1
static domain_name_servers=192.168.11.1

しかしこれだけだと、ipアドレスが固定されなかったので、

sodo nano /etc/network/interfaces

を編集し、こちらでも固定アドレスを設定。

2.Apache セットアップ
1. Apache+PHP+MySQLのインストール

 sudo apt-get update
①. apache
 sudo apt-get install apache2 -y
②. PHP5関連
 sudo apt-get install php5 libapache2-mod-php5 -y
③ MySQL
 sudo apt-get install mysql-server php5-mysql -y

この時点で、192.168.11.xxx にアクセスする。OKなら It works! が表示される。

2. ルートディレクトリーの変更
/var/www/html を /home/yyyyy/www/wordpress とする。
次の3つのファイルを修正するすることでOKとなる。

sudo nano /etc/apache2/apache2.conf
sudo nano /etc/apache2/sites-available/000-default.conf
sudo nano /etc/apache2/sites-available/default-ssl.conf
 
sudo ln -s /etc/apache2/sites-available/pi  /etc/apache2/sites-enabled/

2. mySQL に関する設定
★ セキュリティ対策として、以下のスクリプトを実行

# mysql_secure_installation
 
Enter current password for root (enter for none): xxxxxxx ←パッケージ導入時に指定したパスワードを入力
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Thanks for using MySQL!

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

まずはMySQLにログイン!
mysql -uroot -pxxxxxxx
「-u」の後にユーザー名を、「-p」の後にパスワードを、間隔をあけずに入力する
mysql> create database wpdb; ←データベース名
mysql> exit

3. phpMyadmin のインストール

sudo apt-get install phpmyadmin

Web-server selection の画面で、Apache か lighttpdかどちらのサーバーかと聞いてくるが、チェックを外しておく。
http://192.168.11.xxx/phpmyadmin/index.php 
にアクセスして画面が表示されればOK。

4. wordpress のセットアップ
★ ローカルに WordPress をダウンロードしておき、FTPで /home/yyyyy/www/wordpress  へアップロードするのが一番簡単。

192.168.11.xxx/wordpress でセットアップが開始される。

sudo nano /home/yyyyy/www/wordpress/wp-config.php の作成

セットアップ中に表示された内容をコピーして貼り付ける。
ついでに、に以下の行も追加しておく。

define('WPLANG', 'ja'); ← 使用言語を日本語に設定
define('FS_METHOD', 'direct'); ← ファイルのオーナーをチェックしない(最下行に追加)

★ wordpress の更新でエラーになるので、ワードプレスのルートディレクトリの権限変更。

chmod -R 707 /home/yyyyy/www/wordpress

5. wordpress の設定
外部パソコンのブラウザから以下のURLへアクセスして最終的なwordpressの設定を行う。

http://192.168.11.xxx/wordpress/wp-admin/install.php

 Site Title ~アラカンからのサイクルライフ~
 Username wpadmin 管理者のユーザー名
 Password wp123456 管理者のパスワード
 Your E-mail hhhhhhhh@hotmail.co.jp 管理者のメールアドレス

6. パーマリンクの変更
①. /home/yyyyy/wwwディレクトリの下に.htaccessファイルを作成。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
 
# END WordPress

②. Apache2のrewriteを有効する。

sudo a2enmod rewrite

③. バーチャルホストがリクエストを上書きすることを許可する。

sudo nano /etc/apache2/apache2.conf

<Directory /home/yyyyy/www/>
  Options Indexes FollowSymLinks
  AllowOverride all
  Require all granted
</Directory>

④. Apache 再起動

sudo service apache2 restart

 

パーマリンクに関する結論
Apache であればパーマリンクの変更が可能である確認が出来たが、
"%post_id%" がお奨めと言う説もあり、ディフォルトのままにすることにする。

 

以上。
(2016.07.17)

 

 

スポンサー リンク

 

             

 

 

 

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください