最近concrete5がアツいらしいという噂を聞いたので、CentOS 6.6 (x86_64)の環境にインストールしてみました。作業はsudo権限をもった一般ユーザーで実施しています。(本稿の例では nullpopopo ユーザーで実施)
concrete5のダウンロード
まずはホームディレクトリにsrcディレクトリを作って、その中にconcrete5をダウンロードします。ダウンロードURLは2014/12/28時点の最新版(concrete5.7.3 インターナショナル版(ZIP形式 34.7MB)(2014.12.19リリース))なので、こちらで確認し、バージョンが変わった際には注意してください。
mkdir src cd src/ wget -O concrete5.7.3.zip \ http://www.concrete5.org/download_file/-/view/74252/
Apache PHP MySQLインストール
とりあえずはbase(update)リポジトリにあるhttpd、php-* mysql-serverを何も考えずインストールしちゃいます。
sudo yum -y install httpd httpd-tools \ php php-bcmath php-cli php-common \ php-dba php-embedded php-enchant \ php-fpm php-gd php-imap php-intl \ php-mbstring php-mysql php-pdo php-pear \ php-pecl-apc php-pecl-memcache \ php-process php-pspell php-recode \ php-soap php-tidy php-xml php-xmlrpc php-zts mysql-server
ドキュメントルートのオーナー・パーミッション変更
これは必須じゃない作業ですが、コンテンツのファイルコピーをするためにrootになりたくないので、ドキュメントルートのオーナー・パーミッションを作業用ユーザーのものに変えてしまいます。また、あわせてホームディレクトリにドキュメントルートのシンボリックリンクを張っておきます。
cd /var/www/ sudo chown root:nullpopopo html/ sudo chmod 775 html/ cd ln -s /var/www/html public_html
MySQLの設定
mysql-serverの設定を行います。
sudo chkconfig mysqld on sudo service mysqld start mysqladmin -u root password 'ルートのパスワード' mysql_secure_installation
mysql_secure_installation では、rootのパスワード変更以外をすべてyes回答します。今回は以下のように回答しました。
Change the root password? [Y/n] n ←rootのパスワードを変更しない Remove anonymous users? [Y/n] Y ←匿名ユーザの削除 Disallow root login remotely? [Y/n] Y ←外部からrootユーザーのログイン禁止 Remove test database and access to it? [Y/n] Y ←テストデーターベースの削除 Reload privilege tables now? [Y/n] Y ←権限テーブルを再読み込みする
データベースとユーザー「concrete5」の作成
データベース「concrete5」を文字コードUTF-8で作成します。作成後、show create database で確認しましょう。
mysql -u root -pルートのパスワード -e \ 'create database concrete5 DEFAULT CHARACTER SET utf8;' mysql -u root -pルートのパスワード -e \ 'show create database concrete5;' +-----------+--------------------------------------------------------------------+ | Database | Create Database | +-----------+--------------------------------------------------------------------+ | concrete5 | CREATE DATABASE `concrete5` /*!40100 DEFAULT CHARACTER SET utf8 */ | +-----------+--------------------------------------------------------------------+
データベース作成の次はユーザー作成です。データベースconcrete5に対してまるっと権限を与えてしまいます。
mysql -u root -pパスワード -e \ "GRANT ALL PRIVILEGES on concrete5.* to concrete5@localhost identified by \"パスワード\";"
concrete5のコンテンツをドキュメントルートにコピーする
concrete5.7.3.zip を解凍し、ドキュメントルートにコピーします。ファイルやディレクトリのオーナーはapache、グループをnullpopopoに設定します。また、オーナーとグループに対しては書き込みの権限を付与しましょう。
cd /home/nullpopopo/src/ unzip concrete5.7.3.zip cd concrete5.7.3 cp -pr * /home/nullpopopo/public_html/ cd /var/www/ sudo chown -R apache:nullpopopo html/ sudo chmod g+w html/
ここまでできたら、Apache (httpd) を起動します。
sudo service httpd start sudo chkconfig httpd on
concrete5設定
ブラウザでconcrete5のURLにアクセスします。上記のインストール方法でしたら、トップページにアクセスすると、インストール設定画面が表示されます。
初期設定では英語表示なので、プルダウンメニューから日本語を選択します。
次に、環境のチェック項目が表示されますが、すべてにチェックがついていることを確認し、次へすすみましょう。
次に、サイト情報、管理者情報とデータベース情報を入力します。サンプルコンテンツはどちらを選んでもOKですが、一旦「フルサイト」を選んでおくことにします。
サイト名は好きなものを入力します。メールアドレスの下のパスワードは、concrete5ログイン時に使うものなので、ここで任意のものを設定します。メールアドレスのパスワードではないですよ。データベース情報は以下を設定します。
サーバー | localhost |
MySQLユーザー名 | concrete5 |
MySQLパスワード | (ユーザー concrete5 のパスワード) |
データベース名 | concrete5 |
「concrete5をインストール」をクリックすると、インストールが始まります。インストール終了後、「サイトを開く」をクリックすると、出来上がりです。
これくらい簡単にできると、一撃シェルスクリプトでインストールできそうですね。でわ〜♪