ライン

ポイント:無料で遊べて高性能

ライン

 はじめに

CMS

 ホームページ作成ツールがほとんど選べなくなりました。
個人がホームページをツールを使って作成する時代は過ぎ去ったのでしょう。

 Pukiwikiでページを作成するのもあわなくて、WordPressで作ってみることにしました。
今回は、FreeBSD 9.2-RELEASEでの例です。

 導入と設定

導入

 各国語でportsは準備されているようなので、日本語で入れます。

# pkg install ja-wordpress
..
The following 30 packages will be installed:

        Installing php5-xml: 5.4.23
        Installing xproto: 7.0.25
        Installing xextproto: 7.2.1
        Installing libXdmcp: 1.1.1
        Installing libXau: 1.0.8
        Installing libpthread-stubs: 0.3_4
        Installing kbproto: 1.0.6
        Installing libICE: 1.0.8,1
        Installing freetype2: 2.5.2
        Installing png: 1.5.17
        Installing jpeg: 8_4
        Installing printproto: 1.0.5
        Installing ca_root_nss: 3.15.3.1
        Installing php5-tokenizer: 5.4.23
        Installing php5-mysql: 5.4.23
        Installing php5-zip: 5.4.23
        Installing libxcb: 1.9.3
        Installing libX11: 1.6.2,1
        Installing libSM: 1.2.2,1
        Installing libXt: 1.1.4,1
        Installing curl: 7.33.0_2
        Installing libXext: 1.3.2,1
        Installing libXp: 1.0.2,1
        Installing libXmu: 1.1.2,1
        Installing php5-curl: 5.4.23_1
        Installing libXpm: 3.5.11
        Installing libXaw: 1.0.12,2
        Installing t1lib: 5.1.2_2,1
        Installing php5-gd: 5.4.23
        Installing ja-wordpress: 3.8

The installation will require 48 MB more space

12 MB to be downloaded

Proceed with installing packages [y/N]:

こんなにいろいろ必要だったけっけと思うほどつっこまれます。

Before the first use of WordPress, copy wp-config-sample.php to wp-config.php
in /usr/local/www/wordpress and modify it to fit your MySQL.
Maybe you need 'mysqladmin create wordpress' first.

 /usr/local/www/wordpress以下に導入されているはずです。

 MySQLは、このマシンには入っていませんので、つっこんおきます。

# cd /usr/local/etc/
# cp php.ini-production php.ini
# cd /usr/local/www/wordpress
# cp wp-config-sample.php wp-config.php
# pkg install mysql56-server
..
The following 2 packages will be installed:

        Installing mysql56-client: 5.6.15
        Installing mysql56-server: 5.6.15

The installation will require 131 MB more space

9 MB to be downloaded

Proceed with installing packages [y/N]: y
..
************************************************************************

Remember to run mysql_upgrade the first time you start the MySQL server
after an upgrade from an earlier version.

************************************************************************
# cp /usr/local/share/mysql/my-default.cnf  /var/db/mysql/my.cnf
# service mysql-server start
# mysqladmin -u root password 'PASSWORD'

/etc/rc.conf に mysql_enable="YES" を加えて起動。
 ウェブサーバは、Apache24でPHP5もインストール済み状態です。
この辺りの導入は、他のページを参照してください。最近も書いてあったはずです。

続きのインストールと設定

 Apacheの /usr/local/etc/apache24/httpd.conf の追記。

Alias /wordpress "/usr/local/www/wordpress"
<Directory "/usr/local/www/wordpress">
   AllowOverride FileInfo
   Options FollowSymLinks
   Require all granted
   DirectoryIndex index.php
</Directory>

その後は、apacheのリスタートを入れる。
続きの設定をしよう。

# cd /usr/local/www/wordpress
# cp wp-config-sample.php wp-config.php

当然、このファイルを編集するわけですが、相変わらず親切な日本語。
vimで対応できたので、今回はそのまま更新します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'wordpressdb');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'wordpressdb');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'PASSword');

上記部分を設定するものに変更する。

 では、実際にDBを作成していきます。

#mysql -u root -p
Enter password: PASSWORD
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.6.15 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE wordpressdb;
Query OK, 1 row affected (0.05 sec)

mysql> GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressdb@localhost IDENTIFIED BY 'PASSword';
Query OK, 0 rows affected (0.01 sec) 

 終わったら、quitで抜けます。
 さて、インストールを開始しましょう。

http://(作成したホストのIPアドレス)/wordpress/wp-admin/install.php にアクセスする。

終わったら、該当PHPを無効にしちゃいます。

# cd /usr/local/www/wordpress/wp-admin
# chmod 000 install.php

これでまずは使えるようになります。
※ここでは書いていませんが、MySQLのアクセスをLocalhostに限定するように設定を変えたりしています。

 mod_perl

トップページから自動で表示させる

 このページでは、/wordpressにアクセスされたことを前提に設定を書いています。
折角なので、ここをトップページから表示されるように記述しました。
httpd.confに書いていますが、.htaccessなどを使っている方は、そのような記述で記述すれば良いかと思います。

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

<IfModule rewrite_module>
   RewriteEngine On
   RewriteRule  ^/$ /wordpress [L,R=301]
</IfModule>

こんな感じにして、この階層に置くような形にしないで表示させています。
これも面倒でしたら、そのまんまドキュメントルートの位置を、/usr/local/www/wordpressにしてしまうのがいいと思います。

 SSL化

自己認証でSSLを利用する

ページを記述している際は、SSL通信がいいな、ということで追加することにしました。
/usr/local/etc/apache24/extraにあるhttpd-ssl.confを編集します。

SSLCertificateFile "/usr/local/etc/apache24/server.crt"とSSLCertificateKeyFile "/usr/local/etc/apache24/server.key"ができればいい。
これまで変わらない。まず、server.keyを作成しよう。

# cd /usr/local/etc/apache24 
# openssl genrsa -out server.key 2048

次は、CSRを一応作成。

# openssl req -new -days 3650 -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Tokyo
Organization Name (eg, company) [Internet Widgits Pty Ltd]:example.jp
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:www.example.jp
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

最後にserver.crtが作成される。

# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
Signature ok
subject=/C=JP/ST=Tokyo/L=Tokyo/O=example.jp/CN=www.example.jp
Getting Private key
# chmod 600 server.*

一応、パーミッションを変更した。
httpd.confも修正を入れる。

LoadModule ssl_module libexec/apache24/mod_ssl.so
LoadModule socache_shmcb_module libexec/apache24/mod_socache_shmcb.so
# Secure (SSL/TLS) connections
Include etc/apache24/extra/httpd-ssl.conf

これで保存し、Apacheの再起動で有効になる。
ついでに、以下の鍵を取得しておこう。

# openssl x509 -inform pem -in server.crt -outform der -out server.der

server.derが取得できたと思う。これをウェブで取得できるようにすれば、ルート証明に追加が可能。

デスクトップに保存し、クリックを進めていく。

これ以降、取り込まれたブラウザ上では信用されていないサイト…とはいわれなくなります。

気まぐれにネットに登場するサイトとして少しだけ動かしてみるつもりです。

【改訂履歴】作成:2014/1/18 更新:2014/01/19
【参考リンク】


Copyright © 1996,1997-2006,2007- by F.Kimura,