===== さくらVPSにDokuwikiをインストールしてみた ===== ==== 環境 ==== | サーバ | さくらVPS | | OS |CentOS 6.6 | | Apach |2.2.15 | | Apache ユーザー | apache | | Apache グループ | apache | | ドメイン | hoge.∗∗∗∗∗.com(サブドメイン) | | インストール先 | /home/hoge/public_html/ | | DokuWiki | 2015-08-10a | ※ サブドメインのDNS設定はここでは説明しませんので各自で行ってください。 ==== ユーザーアカウントの作成 ==== * 以下の操作は //**root**// アカウントで実施します。 === ユーザーアカウントの作成 === * //**root**// でログインし、Dokuwikiのインストール先のユーザー //**hoge**// を作成します。 >useradd hoge        ← ユーザー追加 >passwd hoge         ← パスワードセット ユーザー hoge のパスワードを変更。 新しいパスワード: 新しいパスワードを再入力してください: passwd: 全ての認証トークンが正しく更新できました。 === hoge グループへ apache ユーザーを追加 === * apache からファイルを書き込めるように //**hoge**//グループにユーザー //**apache**// を追加します。 gpasswd -a apache hoge Adding user apache to group hoge === ホームディレクトリのパーミッション変更 === * ユーザー //**hoge**// のホームディレクトリ( **/home/hoge/** )を 別のユーザーから閲覧できない状態を保持しつつ、Apacheからのアクセスを許可するためにパーミッションを変更します。 >chmod 710 /home/hoge >ls -l /home 合計 3 drwx--x--- 3 hoge hoge 4096 ∗∗月 ∗∗ ∗∗:∗∗ ∗∗∗∗ hoge === グループの追加について === * ここでは、ユーザー //**hoge**// のグループに //**apache**// を追加することで、apacheからファイルを書き込めるようにしています。 * 逆の方法として、//**apache**// グループにユーザー //**hoge**// し、ユーザー //**hoge**// のグループを//**apache**//に変更する方法もあります。 >gpasswd -a hoge apache >chown hoge:apache /home/hoge >ls -l /home 合計 3 drwx--x--- 3 hoge apache 4096 ∗∗月 ∗∗ ∗∗:∗∗ ∗∗∗∗ hoge * ただこの場合、Web公開するアカウント全てをapacheグループに所属させることになるため、ユーザー毎の独立性が損なわれるため、公開ユーザー(ここでは、//**hoge**//)のグループ毎に //**apache**// ユーザーを追加しています。(正直どっちがいいか分かりませんが:-/) ==== apacheの設定 ==== === apache の設定 === * サブドメイン( hoge.xxxx.com ) で **/home/hoge/public_html** を公開できるようapacheの設定ファイルに以下のようにバーチャルホストを追加します。apacheの設定ファイルは **/etc/httpd/conf/httpd.conf** です。 SuexecUserGroup hoge hoge ServerName hoge.*****.com ServerAlias www.hoge.*****.com ServerAdmin admin@hoge.******.com DocumentRoot /home/hoge/public_html AllowOverride all Options FollowSymLinks Order allow,deny Allow from all CustomLog /var/log/httpd/hoge/hoge-access_log combined ErrorLog /var/log/httpd/hoge/hoge-error_log === ログの出力先フォルダを作成 === * apacheのログ出力先を **/var/log/httpd/hoge/** にしましたので、ログを出力できるよう、ディレクトリを作成しておきます。  >mkdir /var/log/httpd/hoge === apache の再起動 === * 設定を有効にするためにapacheを再起動します。 >cd /etc/init.d >./httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ] * エラーがでなければ正常に起動されています。 ==== 公開ディレクトリの作成 ==== * 以下の操作はユーザー //**hoge**// で実施します。 === 公開ディレクトリの作成 === * webで公開するディレクトリ **/home/hoge/public_html** を作成します。 >mkdir /home/hoge/public_html >ls -l /home/hoge 合計 2 drwxr-xr-- 2 root root 4096 ∗∗月 ∗∗ ∗∗:∗∗ ∗∗∗∗ public_html === 公開ディレクトリのパーミッションを変更 === * webで公開するディレクトリ **/home/hoge/public_html** のパーミッションを変更します。 >chmod 2750 /home/hoge/public_html >ls -l /home/hoge 合計 2 drwxr-s--- 2 hoge hoge 4096 ∗∗月 ∗∗ ∗∗:∗∗ ∗∗∗∗ public_html ==== Dokuwikiのダウンロード === * 以下の操作はユーザー //**hoge**// で実施します。 === Dokuwikiのダウンロード === * Dokuwikiダウンロードページ http://download.dokuwiki.org/ から Stable (Recommended) のバージョンをダウンロードします。ここでは、Linuxにユーザー //**root**// でログインし、wgetコマンドで直接ダウンロードを行っていますが、Windows上からブラウザでダウンロード後、FTPでLinuxサーバーへ移動させる方法もあります。 * ダウンロードするファイルを確認する。 * DokuwikiのダウンロードページからStable (Recommended) 右の(direct link) にマウスカーソルを合わせてダウンロードするファイルのURLを確認します。\\ ダウンロードURLはhttp://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz になっていると思います。 * Linux上からDokuwikiをダウンロードします。\\ >cd /home/hoge >wget http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz --xxxx-xx-xx xx:xx:xx-- http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz download.dokuwiki.org をDNSに問いあわせています... 2a01:4f8:140:13e4::b00b, 46.4.55.201 download.dokuwiki.org|2a01:4f8:140:13e4::b00b|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 3406922 (3.2M) [application/octet-stream] `dokuwiki-stable.tgz' に保存中 100%[============================================>] 3,406,922 1010K/s 時間 3.3s xxxx-xx-xx xx:xx:xx (1010 KB/s) - `dokuwiki-stable.tgz' へ保存完了 [3406922/3406922] >ls dokuwiki-stable.tgz public_html === 解凍 === * ダウンロードしたファイル(dokuwiki-stable.tgz)を解凍します。 \\ 解凍すると、ディレクトリ dokuwiki-2015-08-0a が作成されます。 >tar -zxvf dokuwiki-stable.tgz dokuwiki-2015-08-10a/ dokuwiki-2015-08-10a/index.php dokuwiki-2015-08-10a/inc/    :    : dokuwiki-2015-08-10a/data/index/ dokuwiki-2015-08-10a/data/index/_dummy >ls dokuwiki-2015-08-10a dokuwiki-stable.tgz publuc_html === ドキュメントルートへ移動 === * 解凍したファイルを公開ディレクトリ(/home/hoge/public_html) へ移動します。 >mv dokuwiki-2015-08-10a/{.??*,*} public_html/ === パーミッションの設定 === * dokuwikiの各ファイルのパーミッションをその他のユーザーからのアクセスを不可にします。 > chmod -R o-rwx /home/hoge/public_html * dokuwikiの各フォルダのパーミッションを設定しますが、以下操作は行わなくてもグループのパーミッションに書込み権限は付加されていると思います。備忘録です。 >cd /home/hoge/public_html >chmod g+w ./conf >chmod g+w ./data >chmod g+w ./data/attic >chmod g+w ./data/cache >chmod g+w ./data/index >chmod g+w ./data/locks >chmod g+w ./data/media >chmod g+w ./data/media_attic >chmod g+w ./data/media_meta >chmod g+w ./data/meta >chmod g+w ./data/pages >chmod g+w ./data/tmp >chmod g+w ./lib >chmod g+w ./lib/plugins >chmod g+w ./lib/plugins/acl >chmod g+w ./lib/plugins/authad >chmod g+w ./lib/plugins/authldap >chmod g+w ./lib/plugins/authmysql >chmod g+w ./lib/plugins/authpgsql >chmod g+w ./lib/plugins/authplain >chmod g+w ./lib/plugins/config >chmod g+w ./lib/plugins/extension >chmod g+w ./lib/plugins/info >chmod g+w ./lib/plugins/popularity >chmod g+w ./lib/plugins/revert >chmod g+w ./lib/plugins/safefnrecode >chmod g+w ./lib/plugins/styling >chmod g+w ./lib/plugins/usermanager >chmod g+w ./lib/tpl >chmod g+w ./lib/tpl/dokuwiki ==== Dokuwiki のインストール === === dokuwikiのインストール === * ブラウザでdokuwikiにアクセスすると、DokuWikiインストーラーが起動します。 http://hoge.*****.com/install.php * 必要な情報を入力し、『保存』ボタンをクリックします。 - Wiki名 \\ 任意 - 使用言語 \\ ja - ACL \\ デフォルト(チェックする) - スーパーユーザー \\ 任意 - フルネーム \\ 任意 - メールアドレス \\ 任意 - パスワード \\ 任意 - 確認 \\ 上記のパスワードを再入力 - ACL初期設定 \\ 任意 ここでは『クローズドWiki(登録ユーザーにのみ使用を許可』を選択 - ユーザ自身で登録可能 \\ デフォルト(チェックしない) - ライセンスの選択 \\ デフォルト(CC Attribution-Share Alike 3.0 Unported) === install.phpの削除 === * インストールが正常に終了したら、**install.php** を削除します >cd /home/hoge/public_html >rm ./install.php * 再度ブラウザからdokuwikiにアクセスすると、ログイン画面が表示されるのでインストールで設定したユーザーとパスワードでログインする。 ==== 課題 ==== * /home/hoge 以下がapacheを含むグループになるが問題ないか? * 上記設定の場合、/home/hoge/public_html/data/cash/ 以下に作成されるファイルのオーナーとグループが //**apache**// となり、ユーザー //**hoge**// では消すことができなくなる。apache ユーザーを含めたサブグループが必要か・・・phpをCGIモードで動かすか・・・。 ----