1 views
導入目的
ブログサイトの運営にWordPress(ワードプレス)を使っています。WordPress は、オープンソースのブログ/CMS プラットフォームです。セマンティック Web、コードやデザインの美しさ、Web 標準、ユーザビリティなどを意識して開発されており、無料でダウンロードして使うことができます。今回はSELinuxを有効にしたまま使用してみました。
事前準備
※Webサーバー+PHP、MySQLデータベース、FTPサーバーが構築済であること
■MySQLデータベース作成
[root@ufuso ~]# mysql -u root -p ← MySQLへrootでログイン Enter password: ← MySQLのrootパスワード応答(パスワードは表示されない) Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1385 Server version: 5.0.45 Source distribution Type 'help;' or 'h' for help. Type 'c' to clear the buffer. mysql> create database wpress; ← 「wpress」という名のデータベース作成 Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on wpress.* to ufuso@localhost identified by 'pass'; ← 「wpress」という名のデータベースを読み書きできるユーザー「ufuso」をパス ワード「pass」で作成 Query OK, 0 rows affected (0.00 sec) mysql> exit ← MySQLからログアウト Bye |
■WordPressインストール
(1)php-mysqlインストール
WordPressはPHPで動作するため、PHPからMySQLデータベースへアクセスするためのパッケージであるphp-mysqlをインストールする
[root@ufuso ~]# rpm -q php-mysql ← php-mysqlがインストールされているか確認 php-mysql-5.3.3-27.el6_5.x86_64 ← インストール済み。インストールされていなければ下記を実行のこと [root@ufuso ~]# yum -y install php-mysql ← php-mysqlインストール |
(2)WordPressダウンロード&インストール
ここにアクセスして下図のサイトを表示させ、赤枠1を右クリックし、赤枠2をクリックして最新版のURLをコピー。
※「wpress」、「tu」、「ufuso」、「pass」は例示なので、自分用に置き換えること。
[root@ufuso ~]# wget http://ja.wordpress.org/wordpress-3.8-ja.tar.gz ← wget以下にコピーしたURLを貼り付けてWordPressダウンロード `wordpress-3.8-ja.tar.gz' に保存中 100%[======================================>] 6,304,202 1.19M/s 時間 5.0s 2013-12-28 01:59:33 (1.19 MB/s) - `wordpress-3.8-ja.tar.gz' へ保存完了 [6304202/6304202] [root@ufuso ~]# tar zxvf wordpress-3.8-ja.tar.gz ← WordPress解凍 wordpress/ wordpress/wp-trackback.php wordpress/wp-admin/ ・・・ ・・・ ・・・ wordpress/wp-mail.php wordpress/wp-config-sample.php wordpress/wp-comments-post.php [root@ufuso ~]# mv wordpress/ /var/www/html/wpress ← WordPress解凍先ディレクト リを/var/www/html/wpressディレクトリ下へ移動(「wpress」は例示) [root@ufuso ~]# chmod 777 /var/www/html/wpress ← WordPressディレクトリwpress (「wpress」は例示)を一時的に書込可にする [root@ufuso ~]# chown -R tu:apache /var/www/html/wpress/ ← WordPressディレクト リとその中の全ファイルの所有者をtu、グループをApache実行ユーザへ変更(「tu」は自分 のユーザー名の例示。「apache:apache」も可) [root@ufuso ~]# mkdir /var/www/html/wpress/wp-content/uploads ← uploadsフォル ダの作成 [root@ufuso ~]# mkdir /var/www/html/wpress/wp-content/upgrade ← upgradeフォル ダの作成 [root@ufuso ~]# chmod -R 777 /var/www/html/wpress/wp-content ← wp-contentフォ ルダとその中の全ファイルに読み書き権限の設定 [root@ufuso ~]# rm -f wordpress-3.8-ja.tar.gz ← ダウンロードしたファイルを削除 |
■SELinuxが有効な場合
[root@ufuso ~]# getsebool -a | grep http ← SELinuxでhttpの下記項目がすべてon であるか確認 httpd_builtin_scripting --> on httpd_can_network_connect --> off ← onにしてネットワークへの接続を許可 httpd_can_network_connect_db --> off ← onにしてデータベースへの接続を許可 httpd_dbus_avahi --> on httpd_enable_cgi --> on httpd_tty_comm --> on httpd_unified --> on [root@ufuso ~]# setsebool -P httpd_can_network_connect=on ← httpd_can_network_connectをonにする [root@ufuso ~]# setsebool -P httpd_can_network_connect_db 1 ← httpd_can_network_connect_dbをonにする。1を入力してonにする方法もある (1=on、0=offの意味) [root@ufuso ~]# yum provides *bin/semanage ← semanageをインストールするため確認 policycoreutils-python-2.0.83-19.39.el6.x86_64 : SELinux policy core python : utilities Repo : base Matched from: Filename : /usr/sbin/semanage [root@ufuso ~]# yum -y install policycoreutils-python ← policycoreutils-python をインストール Installed: policycoreutils-python.x86_64 0:2.0.83-19.39.el6 Dependency Installed: audit-libs-python.x86_64 0:2.2-2.el6 libcgroup.x86_64 0:0.40.rc1-5.el6_5.1 libsemanage-python.x86_64 0:2.0.43-4.2.el6 setools-libs.x86_64 0:3.3.7-4.el6 setools-libs-python.x86_64 0:3.3.7-4.el6 Complete! [root@ufuso ~]# semanage fcontext -a -t httpd_sys_content_t "/var/www/html/wpress(/.*)?" ← ウェブコンテンツとしてwpressフォルダへのアクセスを許可 [root@ufuso ~]# restorecon -R -v /var/www/html/wpress ← 変更設定を更新 [root@ufuso ~]# semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/wpress/wp-content(/.*)?" ← ウェブコンテンツとしてwp-contentフォルダへの書込を許可 [root@ufuso ~]# restorecon -R -v /var/www/html/wpress/wp-content ← 変更設定を 更新 [root@ufuso ~]# setsebool -P allow_ftpd_full_access 1 ← pluginやthemeの追加に 必要なftpへのフルアクセスを許可 |
■WordPress初期設定
(1)http://サーバー名/wpress/へアクセスし、表示される赤枠「設定ファイルを作成する」をクリック
(2)表示される画面の赤枠「さあ、始めましょう!」をクリック
(3)表示される画面にMySQLで作成した「データベース名」、「ユーザー名」、「パスワード」を入力して、赤枠の「送信」をクリック
(4)表示される画面の赤枠「インストール実行」をクリック
(5)表示される画面の赤枠1の全項目を埋め、赤枠2の「WordPressをインストール」をクリック
(6)表示される画面の赤枠「ログイン」をクリック
(7)ログイン画面が表示されるので、登録したユーザー名を赤枠1に、パスワードを赤枠2に入力して赤枠3の「ログイン」をクリック
(8)管理画面が表示されればOK
(9)サイトのトップページ
※下図(10)赤枠のようにFTPS(SSL)を使うと(11)図赤枠のエラーが出るので注意
(10)
(11)
(12)上図(10)の確認画面の表示と入力を省くために、下記の設定をする
[root@ufuso ~]# chmod 755 /var/www/html/wpress ← WordPressディレクトリwpress (「wpress」は例示)を書込不可に戻す [root@ufuso ~]# vi /var/www/html/wpress/wp-config.php ← 設定ファイルを開く define('FS_METHOD','direct'); ← 下行の直前に追記 /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ |
使い方の詳細はWordPressフォーラム参照
この設定だと、WordPressのアップグレード時に、FTPサーバの入力画面が出てしまい、SFTPなどでファイルを転送することになるかと思います。
インストールディレクトリ配下全てを “httpd_sys_rw_content_t”にするべきではないでしょうか。
コメントありがとうございます。ご指摘のようにWordPressのアップグレード時に、FTPサーバの入力画面が出ることはありませんでしたが、「一部ファイルが更新できません」というメッセージが出ました。
そこで、インストールディレクトリ配下(本サイトでは「wpress」フォルダ全て)に「chmod -R」コマンドで書き込み権限を与えたところ、”httpd_sys_rw_content_t”に変更せずとも通常どおりアップグレードできました。したがいまして、アップグレードにポリシーの変更までは不要かと思います。