Apacheの設定
ここでやることは、Linuxユーザのhomeディレクトリにあるpublic_htmlディレクトリを公開するようにApacheを設定します。
ユーザを追加した場合に即時に作業領域がほしいので/etc/skelにpublic_htmlディレクトリを作成し、その他必要なファイルも配置しておく。
これをやっておくと、Linuxユーザを追加するだけで速攻でVirtualHostが使用できる。
ちなみにこの場合のURLは「http://xxxxx/~追加したユーザ」になる。
また、WordPressを配置するためのVirtualHostの設定も行うことにする。
WordPressの配置はドメイン直下にするので「http://xxxxx」になる。
この設定をするとデフォルトの設定を変えてしまうことになるるので、デフォルトはサブドメイン(test.brokendish.org)に退避することにする。
・文字コードの設定
デフォルトの文字コードをUTF-8にする
vi /etc/apache2/conf.d/charset #AddDefaultCharset UTF-8 ↓ AddDefaultCharset UTF-8 |
・ユーザーディレクトリの有効化
$ sudo a2enmod userdir |
・/etc/apache2/mods-enabled/userdir.conf(シンボリックリンク)ができるので確認する
root@hogehoge:/etc/apache2/mods-enabled# cat userdir.conf UserDir public_html UserDir disabled root AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all |
userdir.confはデフォルトのままで使えそう。
・ホームディレクトリに以下のディレクトリを作成する
$ mkdir /home/hogeusr/public_html |
●サブドメイン用のVirtualHostの設定
(defaultを書き換えてしまうのでバックアップはとっておこう)
$ cp default defaultBAK |
$ sudo vi /etc/apache2/sites-available/default |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName test.brokendish.org DocumentRoot /var/www/ Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </VirtualHost> |
●WordPress用のVirtualHostの設定
$ sudo vi /etc/apache2/sites-available/wordPress |
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName brokendish.org DocumentRoot /home/wordpress/ Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </VirtualHost> |
※「Options Indexes FollowSymLinks MultiViews」の行だけど、
この「Indexes」を付けておくと「index.html」がない場合はディレクトリを表示してしまうので、必要に応じて削除してね。
●ユーザーディレクトリ用のVirtualHostの設定
・/etc/apache2/sites-enabledに上で作った「virtualHome」へのシンボリックリンクを作成する
# cd /etc/apache2/sites-enabled |
# ln -s ../sites-available/virtualHome 000-virtualHome |
●WordPress用のVirtualHostの設定
000-Defaultがあると思うので、これは003-Defaultにしておく
# cd /etc/apache2/sites-enabled # mv 000-Default 003-Default |
# ln -s ../sites-available/wordPress 000-wordPress |
・Apacheを再起動
$ sudo /etc/init.d/apache2 restart |
・テスト表示用のHTMLファイルを作成
$ cd ~/publuc_html $ echo "testPaGe DeBiAn">index.html |
・テスト表示してみる
・PHPの稼働確認
PHPインフォを表示させるPHPファイルを作成する
$ cd ~/publuc_html $ echo "<!--? phpinfo() ?-->;>info.php |
表示してみる
http://hogehoge.org/~hogeusr/info.php
・ユーザを追加した場合public_htmlを配置するように
/etc/skelにディレクトリ、ファイルを用意しておく
ルートユーザで作業
$ sudo -s # cd /etc/skel # mkdir public_html # cd public_html # echo "testPaGe Debian Server Skelton">index.html # echo "<!--? phpinfo() ?-->">info.php |
・テストユーザを作成して試してみる
・ユーザー作成「testuser」
# adduser testuser
※adduserコマンドを使うとホームディレクトリの作成、 |
/etc/Skelからのコピー、パスワード設定等を対話式で設定できる
・表示してみる
http://hogehoge.org/~testuser/index.html
http://hogehoge.org/~testuser/info.php
・testuserを削除する
# userdel -r testuser |
※-rオプションを付けてホームディレクトリごと削除する