mieki256's diary



2021/07/15(木) [n年前の日記]

#2 [linux][debian] Debian buster + Apache2 の設定作業

自宅サーバ代替機(キューブPCケース機、Intel D945GSEJT使用)、Debian Linux 10 buster 32bit版 + Apache2 2.4.38-3+deb10u5 で、Apache2 の設定を始めた。

Apache2とPerlをインストール。 :

Apache2 と Perl をインストール。
apt install apache2
apt install perl

初期htmlフォルダは /var/www/html/。デフォルトでは、http://hoge/ にアクセスすると、/var/www/html/index.html が表示される。

設定ファイルは /etc/apache2/ 以下にある。/etc/apache2/apache2.conf がメインの設定ファイル。

_【2020年最新版】DebianにウェブサーバーApache2をセットアップ

ユーザのホームディレクトリを有効化。 :

以下を参考に作業。

_Debian 10 Buster : Apache2 : ユーザーのホームディレクトリを利用する : Server World

a2enmod userdir
systemctl restart apache2
初期設定では、~/public_html/ 以下が公開される。

cgiを有効化。 :

以下を参考に作業。

_Debian 10 Buster : Apache2 : Perlスクリプトを利用する : Server World

モジュール有効化。Apache2再起動。
a2enmod cgid
systemctl restart apache2

初期設定状態では、/usr/lib/cgi-bin/ 以下に cgi を入れておくと、http://hoge/cgi-bin/hoge.cgi で実行できる。

任意のフォルダ以下でも実行できるように設定してみる。例えば、/var/www/html/cgi-enabled/ 以下を対象にしてみる。
mkdir /var/www/html/cgi-enabled
vi /etc/apache2/conf-available/cgi-enabled.conf
以下を記述。指定フォルダ以下で .cgi や .pl を実行可能にしている。
<Directory "/var/www/html/cgi-enabled">
    Options +ExecCGI
    AddHandler cgi-script .cgi .pl
</Directory>

設定ファイルの有効化。
a2enconf cgi-enabled
systemctl restart apache2

前述のページ内で紹介されているスクリプトで動作確認。

テストスクリプトの例。その1。

/usr/lib/cgi-bin/test_script.cgi
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "Hello CGI\n";

chmod 755 /usr/lib/cgi-bin/test_script.cgi

http://hoge/cgi-bin/test_script.cgi でアクセス。

テストスクリプトの例。その2。

/var/www/html/cgi-enabled/index.cgi
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<html>\n<body>\n";
print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n";
print "CGI Test Page";
print "\n</div>\n";
print "</body>\n</html>\n";

chmod 755 /var/www/html/cgi-enabled/index.cgi

http://hoge/cgi-enabled/index.cgi でアクセス。

Apache2を動かしているのは誰なのですか。 :

Vine Linux上では Apache を動かしていたのは apacheユーザだったけど、Debian は誰が動かすのだろう。例えば Apache2 がファイルを作成した場合、所有者は誰になるのか…?

_www-dataイズ誰? - やってみなくちゃわからない。わからなかったらやってみよう!@プリチャンを見て
_ubuntuのapacheユーザーとグループ - Qiita

Deian Linux 10 の場合、Apache2 を動かしているのは www-data というユーザらしい。

たしかに、/etc/apache2/envvars 内に記述があった。
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

旧自宅サーバ機から持ってきたファイルに対して、apacheユーザ所有だったファイル群を、www-data の所有に置き換えておいた。
sudo chown -R --from=xxxx www-data:www-data *

.htaccess を有効化。 :

ディレクトリ毎にサーバ設定を変更できる、.htaccess を有効化する。

_Apacheの「.htaccess」を有効にする方法 | ex1-lab
_Apache ウェブサーバーで .htaccess を有効にする │ TEAM T3A
_Debian Apache2の設定(1)

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.orig
sudo vi /etc/apache2/apache2.conf

AccessFileName でファイル名を指定。
AccessFileName .htaccess
↓
AccessFileName .htaccess_custom

ディレクトリに対する設定内で AllowOverride ALL を指定すれば有効化できる。
<Directory />
  Allowoverride All
</Directory>

Apache2再起動。
sudo systemctl restart apache2

BASIC認証を利用。 :

BASIC認証を使えば、ユーザ名とパスワードを入力しないとアクセスできないディレクトリを作れる。

authz_groupfile を有効化すればいいらしい。
apt install apache2-utils
a2enmod authz_groupfile
systemctl restart apache2

_Debian 10 Buster : Apache2 : Basic認証を利用する : Server World
_[Apache] Invalid command ‘AuthGroupFile’ エラー対処法 - 端くれプログラマの備忘録

以上です。

過去ログ表示

Prev - 2021/07 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project