(過去記事のコピペなので内容が古いかも知れません)
イントラサーバーを立てたくなったのでやってみた
OS : Debian 9
一番使用経験があって、有名なのでpukiwikiを使ってみる
開発者は日本人っぽい
まずはここに一度目を通しておく
(リンク切れ)
必要なコマンドのインストール
sudo apt-get update sudo apt-get install wget sudo apt-get install unzip % phpはすでにインストールされてたのでそのまま使う (実はインストールされてなくて2日ほどハマる) wget 'https://ja.osdn.net/projects/pukiwiki/downloads/69652/pukiwiki-1.5.2_utf8.zip/' -O pukiwiki.zip unzip pukiwiki.zip mv pukiwiki-1.5.2_utf8 pukiwiki
pukiwikiディレクトリを公開場所へ移動する
sudo cp -r pukiwiki /var/www/html/
パーミッション系のことがよくpukiwikiで問題になると検索してたらヒットしたけど
今はzipでダウンロードしてきてunzipすれば特に問題ないっぽい
pukiwiki.ini.php の修正
設定をいじるには pukiwiki.ini.php を修正すればいい
sudo emacs pukiwiki.ini.php
修正する箇所は
1. 管理人の名前を設定する
$modifier = 'anonymous';
2. $page_title = 'PukiWiki';
3. 公開するサーバーのアドレスなどにする
$modifierlink = 'http://pukiwiki.example.com/';
4. 管理者パスワードを設定する
$adminpass = '{x-php-md5}!';
md5のパスワードの生成の仕方は
$ echo -n 'pass' | md5sum
って感じ
これでpassをmd5で暗号化したパスワードが得られるのでこれを書けばいい
$ echo -n 'pass' | md5sum
1a1dc91c907325c69271ddf0c944bc72 -
なので、
$adminpass = '{x-php-md5}' . md5('1a1dc91c907325c69271ddf0c944bc72');
かとおもいきや、正解は
$adminpass = '{x-php-md5}'1a1dc91c907325c69271ddf0c944bc72';
ここでも1時間くらいハマった・・・
アニメ見ながらのんびり解決。
基本的な修正はこれだけでOK
いろんな記事を見てると、これで
http://pukiwiki.example.com/pukiwiki
とかの設定したアドレスにアクセスすればwikiが動くと書いてあるが、自分の場合はどうにもうまくいかない・・・
ウェブブラウザのターミナルでエラーメッセージを確認すると、
Failed to load resource: the server responded with a status of 500
みたいなのが表示されてた
これについて調べてみたが、ドンピシャな解決方法が見つからない・・・
原点に立ち戻ってserver worldでwebサーバー立ち上げのあたりの記事を見直してみる
www.server-world.info
www.server-world.info
もしかしてphpのインストールがうまく行っていないとか・・・?
$ apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring $ sudo a2enconf php7.0-cgi $ sudo emacs /etc/php/7.0/apache2/php.ini 924行目:コメント解除しタイムゾーン設定 date.timezone = "Asia/Tokyo"
これで、なんとかpukiwikiがうごくようになった・・・.htaccessが邪魔をしてるとか関係なかったんや・・・・
(一応README.txtには.htaccessが原因かもとか書いてある)
このあと、次のエラーが出てきてまた困った・・・
Directory is not found or not writable (DATA_DIR)
4つくらいエラーメッセージが出てたけど、こっちは調べたら前例がいっぱいあった
/var/wwwという場所の所有者はrootだけど
実際にpukiwikiを動かしているのはapatcheなので所有者をapatcheのユーザーにしないといけないらしい(たぶん)
調べたらよく出てくるのが
この通りにやってみると
$ chown -R apache:apache ./ chown: invalid user: ‘apache:apache’
apatcheというユーザーはいません、とのこと
/etc/httpd/conf/httpd.conf
というファイルを見ると、良いとあるがこれは別のlinuxでの話
「"debian" apache group user」とかで調べてみると
Debianではapatcheではなくて、www-dataらしい
設定ファイルは /etc/apache2/envvars
これを書き換えたら、apatcheのユーザー名を変更できる? やらないがー
■ 参考 : apacheのグループと実行ユーザを調べる
「このようにRedHat系OSだとデフォルト値は”apache”、Deb系OSだとデフォルト値は”www-data”となっているので注意が必要です。」らしい
なので、オーナーを変えるには
$ sudo chown -R www-data:www-data ./
トップページとかメニューバーの言語を英語にする
// LANG - Internal content encoding ('en', 'ja', or ...)
define('LANG', 'ja');
// UI_LANG - Content encoding for buttons, menus, etc
define('UI_LANG', en); // 'en' for Internationalized wikisite
UI_LANGとLANGは効果が違うらしいが、今の所LANGをenにするだけでうまくいってるのでこのままいってみるただし、LANGをenにすると修正したときの時間などもUTCになってしまう
ので、設定ファイルのlocal time settingの項目を修正する
めんどくさいので、いかなるときも日本時間で表示するように修正した
// Local time setting
switch (LANG) { // or specifiy one
case 'ja':
define('ZONE', 'JST');
define('ZONETIME', 9 * 3600); // JST = GMT + 9
break;
default :
define('ZONE', 'JST');
define('ZONETIME', 9 * 3600); // JST = GMT + 9
break;
// define('ZONE', 'GMT');
// define('ZONETIME', 0);
// break;
}
ランキング参加中です
↓クリックしていただけると嬉しいです〜