Apache
Apache HTTP サーバは、効率的で拡張可能な web サーバで、インターネット上で最も人気のある web サーバのひとつです。
インストール
Apache のバージョンアップをする時は、アップグレードガイドを参照してください。
USE フラグ
USE flags for www-servers/apache The Apache Web Server
+filecaps
Use Linux file capabilities to control privilege rather than set*id (this is orthogonal to USE=caps which uses capabilities at runtime e.g. libcap)
+suexec-caps
Install suexec with capabilities instead of SUID
debug
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces
doc
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
gdbm
Add support for sys-libs/gdbm (GNU database libraries)
ldap
Add LDAP support (Lightweight Directory Access Protocol)
selinux
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
ssl
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security)
static
Link in apache2 modules statically rather then plugins
suexec
Install suexec with apache
suexec-syslog
Log suexec to syslog instead of to a separate file
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
threads
Add threads support for various packages. Usually pthreads
verify-sig
Verify upstream signatures on distfiles
Emerge
マルチプロセッシングモジュール
Apache の event または worker MPM を使用するには Apache の threads USE フラグを有効にしてください:
/etc/portage/package.useApache の threads サポートwww-servers/apachethreads
Apache event MPM を使用するには、以下を package.use に追加してください:
/etc/portage/package.use/apache2Apache event MPM*/*APACHE2_MPMS:event
Apache worker MPM を使用するには、以下を package.use に追加してください:
/etc/portage/package.use/apache2Apache worker MPM*/*APACHE2_MPMS:worker
マルチプロセッシングモジュール(MPM)が何も選択されていない場合はデフォルトのMPMが使用されます。デフォルトのMPMはプラットフォームの機能(threadsサポートなど)によります。詳細についてはApache の公式ドキュメントを参照してください。
そして www-servers/apache を emerge してください:
root #emerge --ask www-servers/apacheグローバルなサポート
apache2 グローバル USE フラグを有効化することで、他のパッケージの Apache サポートの提供を受けられます。これにより、Apache に依存するパッケージが emerge された場合に www-servers/apache が自動的にインストールされます。
/etc/portage/make.confシステム USE フラグに Apache を追加するUSE="apache2"
USEフラグを設定した後には、システムをアップデートして変更を適用させます:
root #emerge --ask --changed-use --deep @world設定
ファイル
システム上のApache2の動作を設定する、2つの主要なファイルがあります:
- Gentoo の Apache2 用 init スクリプトの設定ファイル /etc/conf.d/apache2
- Apache2 サーバーで一般的に用いられている設定ファイル /etc/apache2/httpd.conf
/etc/conf.d/apache2
/etc/conf.d に配置されている apache2 ファイルは Gentoo の init スクリプトの設定ファイルです。このファイルで唯一有効な行は APACHE2_OPTS 変数の行です:
/etc/conf.d/apache2APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE"
この行のオプションは、全体の設定において特定の部分を有効にしたり無効にしたりするために様々な設定ファイルが利用する記述 <IfDefine option-name> を解釈するための定義です。これについては後ほど触れます。
/etc/apache2/httpd.conf
httpd.conf ファイルは Apache サーバーの伝統的な設定ファイルです。実際には、このファイルは設定の入り口に過ぎません。設定全体は /etc/apache2/ にある多くのファイルに分割されており、それらは Include ディレクティブを使って統合されます。たとえば、httpd.conf 内の Include /etc/apache2/modules.d/*.conf という文は、/etc/apache2/modules.d/ にあるファイルのうち名前が .conf で終わるものをすべて取り込みます。
上記で見たように、またモジュールの設定ファイル(/etc/apache2/modules.d内のファイル)のほとんどが<IfDefine module-name>から開始することから、対応する-D module-nameというフラグが/etc/conf.d/apache2のAPACHE2_OPTS変数に設定されていなければ、/ect/apache2/modules.d内のファイルの内容は有効にはなりません。00_default_settings.confという設定ファイルは例外でIfDefineから開始しておらず、そのため常に有効になります。
デフォルト
Apache サーバの新規インストール後には、以下のような、異なる設定ファイル類を集約した設定ができあがっています。その入口である /etc/apache2/httpd.conf から始めましょう。
これはクイックリファレンスであり、概観を記載したものでしかありません。設定における追加や削除を理解するには、様々なファイル群を含めコメント類を熟読することが強く期待されます。また、Apacheの設定のより深い理解のために Apache マニュアルも参照してください。
/etc/apache2/httpd.confServerRoot"/usr/lib64/apache2" #Module loaded unconditionally, assuming the USE flag is no unset in # /etc/portage/make.conf or in /etc/portage/package.use LoadModuleactions_modulemodules/mod_actions.so ... #other modules loaded that way : alias_module, auth_basic_module, authn_alias_module, # authn_anon_module, authn_dbm_module, authn_default_module, authn_file_module, # authz_dbm_module, authz_default_module, authz_groupfile_module, authz_host_module, # authz_owner_module, authz_user_module, autoindex_module, cgi_module, cgid_module, # deflate_module, dir_module, env_module, expires_module, ext_filter_module, filter_module, # headers_module, include_module, log_config_module, logio_module, mime_module, # mime_magic_module, negotiation_module, rewrite_module, setenvif_module, # speling_module,ssl_module, status_module, unique_id_module, usertrack_module, host_alias_module #Modules loaded conditionally, assuming matching USE flag is not unset in # /etc/portage/make.conf or in /etc/portage/package.use (flag to be set in ) <IfDefineAUTHNZ_LDAP> LoadModuleauthnz_ldap_modulemodules/mod_authnz_ldap.so </IfDefine> #other modules loaded that way : cache_module, dav_module, dav_fs_module, # dav_lock_module,disk_cache_module, file_cache_module, info_module, ldap_module, # mem_cache_module, userdir_module Userapache Groupapache # Supplemental configuration #**************************************************************************************vvv #this part is included via Include /etc/apache2/modules.d/*.conf #included from /etc/apache2/modules.d/00_default_settings.conf-------------v #this is always included as there is not option to deactivate it. Timeout300 KeepAliveOn MaxKeepAliveRequests100 KeepAliveTimeout15 UseCanonicalNameOff AccessFileName.htaccess ServerTokensProd TraceEnableoff ServerSignatureOn HostnameLookupsOff EnableMMAPOn EnableSendfileOn FileEtagINodeMTimeSize ContentDigestOff ErrorLog/var/log/apache2/error_log LogLevelwarn <Directory/> OptionsFollowSymLinks AllowOverrideNone Requirealldenied </Directory> <IfModuledir_module> DirectoryIndexindex.htmlindex.html.var </IfModule> <FilesMatch"^\.ht"> Requirealldenied </FilesMatch> #--------------------------------------------------------------------------^ #included from 00_mod_info.conf--------------------------------------------v <IfDefineINFO> <Location/server-info> SetHandlerserver-info Requirehost127.0.0.1 </Location> </IfDefine> #--------------------------------------------------------------------------^ #--------------------------------------------------------------------------v #included from 00_languages.conf # Settings for hosting different languages. <IfDefineLANGUAGE> AddLanguageca.ca ... AddLanguagezh-TW.zh-tw LanguagePriorityencacsdadeeleoesetfrhehritjakoltznlnnnoplptpt-BRrusvzh-CNzh-TW ForceLanguagePriorityPreferFallback AddCharsetus-ascii.ascii.us-ascii AddCharsetISO-8859-1.iso8859-1.latin1 ... AddCharsetshift_jis.shift_jis.sjis </IfDefine> #---------------------------------------------------------------------------^ #**************************************************************************************^^^ #***************************************************************************************vvv #this part is included via Include /etc/apache2/vhosts.d/*.conf #from 00_default_ssl_vhost.conf-----------------------------------------------------vv <IfDefineSSL> <IfDefineSSL_DEFAULT_VHOST> <IfModulessl_module> Listen443 <VirtualHost_default_:443> ServerNamelocalhost #------------------------------------------v # this part is included via Include /etc/apache2/vhosts.d/default_vhost.include ServerAdminroot@localhost DocumentRoot"/var/www/localhost/htdocs" <Directory"/var/www/localhost/htdocs"> OptionsIndexesFollowSymLinks AllowOverrideAll Requireallgranted </Directory> <IfModulealias_module> ScriptAlias/cgi-bin/"/var/www/localhost/cgi-bin/" </IfModule> <Directory"/var/www/localhost/cgi-bin"> AllowOverrideNone OptionsNone Requireallgranted </Directory> #end of Include ---------------------------^ ErrorLog/var/log/apache2/ssl_error_log <IfModulelog_config_module> TransferLog/var/log/apache2/ssl_access_log </IfModule> SSLEngineon SSLCipherSuiteALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile/etc/ssl/apache2/server.crt SSLCertificateKeyFile/etc/ssl/apache2/server.key <FilesMatch"\.(cgi|shtml|phtml|php)$"> SSLOptions+StdEnvVars </FilesMatch> <Directory"/var/www/localhost/cgi-bin"> SSLOptions+StdEnvVars </Directory> <IfModulesetenvif_module> BrowserMatch".*MSIE.*"\ nokeepalivessl-unclean-shutdown\ downgrade-1.0force-response-1.0 </IfModule> <IfModulelog_config_module> CustomLog/var/log/apache2/ssl_request_log\ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </IfModule> </VirtualHost> </IfModule> </IfDefine> </IfDefine> #---------------------------------------------------------------------------------^^ #from 00_default_vhost.conf-------------------------------------------------------vv <IfDefineDEFAULT_VHOST> Listen80 NameVirtualHost*:80 <VirtualHost*:80> ServerNamelocalhost #---------------------------------------------------------------v # this part is included via Include /etc/apache2/vhosts.d/default_vhost.include ServerAdminroot@localhost DocumentRoot"/var/www/localhost/htdocs" <Directory"/var/www/localhost/htdocs"> OptionsIndexesFollowSymLinks AllowOverrideAll Requireallgranted </Directory> <IfModulealias_module> ScriptAlias/cgi-bin/"/var/www/localhost/cgi-bin/" </IfModule> <Directory"/var/www/localhost/cgi-bin"> AllowOverrideNone OptionsNone Requireallgranted </Directory> #end of Include -----------------------------------------------^ <IfModulempm_peruser_module> ServerEnvironmentapacheapache </IfModule> </VirtualHost> </IfDefine> #-----------------------------------------------------------------------------------^^ # end of include ****************************************************************************************^^^
稼働の第一歩
使い方の節の説明に従って、サーバを開始してください。
上記初期設定にあるように、インストール済みのバーチャルホストの DocumentRoot ディレクトリが /var/www/localhost/htdocs にあり、サーバ名は「localhost」です。 DocumentRoot にはさらに、index.html ファイルがひとつ生成されていますので、正常にインストールができたかどうかを確認するためには https://localhost/ にブラウザでアクセスしましょう。
そのウェブページには「It works!」のメッセージが表示されているはずです。
Firefox には、ブラウザの URL バーでミスタイプした場合に役に立つ機能があります。もし入力した URL が解決できなかった場合、Firefox は URL のホスト名の部分に
.com を追加したり、www. を先頭に追加したりして、自動的にユーザが意図していたであろうURLを解決しようとします。
この機能はFirefoxの初期からありますが、開発者にとっては面倒なものでした。つまり、localhostで動いているサーバが応答しなかった場合、Firefoxはlocalhost.comやwww.localhost.comに接続を試みたあげく、結局"not found"のページを見るということになってしまうのです。
この「機能」を無効にするために:
about:configとブラウザのURLバーに入力- 「細心の注意を払って使用する」のボタンをクリックして特別な設定ページに入ります
- 検索ボックスに
browser.fixup.alternate.enabledと入力 - 下にフィルタされたリストが出てくるので、
browser.fixup.alternate.enabledを右クリックし、toggleを選んで値をfalseにする
mod_securityを有効にする
ModSecurity は、既知の脆弱性を悪用した攻撃を防ぐために web サービストラフィックを監視する、ルールベースの web サービスアプリケーションファイアウォールです。
www-apache/mod_security のインストール:
root #emerge --ask www-apache/mod_securityapache2ファイルのAPACHE2_OPTS変数でSECURITYモジュールを有効にする:
/etc/conf.d/apache2セキュリティーモジュールの有効化APACHE2_OPTS="... -D SECURITY"
このモジュールを制御するには、/etc/apache2/modules.d/79_modsecurity.conf と /etc/apache2/modules.d/80_modsecurity-crs.conf ファイルを編集します。/usr/share/doc/mod_security-*-r1/modsecurity.conf-recommended.bz2 ファイルにおすすめの設定が含まれています( https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#A_Recommended_Base_Configuration )。ベースとなる設定を /etc/apache2/modules.d/79_modsecurity.conf にコピーし、必要に応じて設定を微調整します。/usr/share/doc/modsecurity-crs-*/crs-setup.conf.example.bz2 ファイルを適当な場所、たとえば /etc/conf.d/crs-setup.conf に解凍して微調整し、解凍したファイルを /etc/apache2/modules.d/80_modsecurity-crs.conf で読み込みます。最後に Apache を再起動します。サイトの Apache ログファイルでエラーをチェックし、状況に応じて対処してください。
LUA サポートを有効化する
LUA サポートの有効化は、信頼されていないユーザーがいる共有のサーバーでは特に、深刻なセキュリティリスクを生じさせる可能性があります - サーバー内部状態を変更するために悪用される危険性があります。
USE フラグ apache2_modules_lua を有効化して Apache をインストールしてください。
セキュリティ上の理由からこの USE フラグはマスクされているかもしれません。これを反転させるには、先に package.use.mask を編集してください:
/etc/portage/profile/package.use.maskLUA モジュールのマスクを反転させるwww-servers/apache-apache2_modules_lua
PHP サポートを有効にする
apache2 の USE フラグを付けて PHP をインストールし、モジュールを有効にします:
/etc/conf.d/apache2PHPモジュールを有効にするAPACHE2_OPTS="... -D PHP"
PHP モジュールが動作しているかテストする前に、/etc/apache2/modules.d/70_mod_php.conf ファイルが存在し、以下の定義が記載されているか、確認しましょう。
/etc/apache2/modules.d/70_mod_php.confPHPモジュールがロードされたことを確認する<IfDefinePHP> # The mod_php.so symlink is controlled by # eselect-php. However, the module name changed from # php5_module to php7_module so we can't blindly load whatever # is there. Instead we let eselect-php manage a small # configuration file that loads the appropriate module. # # This is relative to ServerRoot (see httpd.conf). Include../../../var/lib/eselect-php/mod_php.conf # Tell apache that mod_php should handle PHP files. # # NOTE: Avoiding AddHandler/AddType for security (bug # #538822). Please read the related news item! <FilesMatch"\.(php|php[57]|phtml)$"> SetHandlerapplication/x-httpd-php </FilesMatch> # PHP source files which are meant to be displayed as # syntax-highlighted source code. <FilesMatch"\.phps$"> SetHandlerapplication/x-httpd-php-source </FilesMatch> DirectoryIndexindex.phpindex.phtml </IfDefine>
もしこのファイルがないようなら、作りましょう。
PHPモジュールが動作しているか確認するために、テストページを作成:
/var/www/localhost/htdocs/index.phpPHPテストページ<html> <body> <?php phpinfo(); ?> </body> </html>
そして、/var/www/localhost/htdocs/index.htmlを削除するかリネームして、テストページを開きましょう: https://localhost/
PHPの設定が記述された表が見られるでしょう。
PHP のバージョンを変更する
Apache によって処理される PHP のバージョンを変えるには、まず apache2 Server Application Programming Interface (SAPI) で利用可能なバージョンをリストアップします:
root #eselect php list apache2[1] php5.3 [2] php5.4 * [3] php5.5
選択したバージョンに変更するには:
root #eselect php set apache2 N上の例の N は、先ほど表示したような eselect php list apache2 の出力の中から選択した番号で置き換えてください。
バーチャルホスト
それぞれのバーチャルホストごとに、 DocumentRoot ディレクトリを用意し Apacheデーモンが見つけられアクセス可能なようにしましょう。/etc/apache2/vhosts.d ディレクトリ内にバーチャルホスト設定ファイル(VirtualHost.conf)を追加し、その中には この DocumentRoot とホストサーバ名を指定します。また、このホストサーバ名の項目を /etc/hosts に追記することも忘れないでください。
apache ユーザ/グループ の所有者権限を、バーチャルホストのファイル群に割り当てます。以下の例のように chown コマンドで:
root #chown apache:apache /var/www/sitename以下に、2つのバーチャルホスト定義例があります。1つは domainname1.com で、もう1つは domainname2.com です。本来のホスト自体(*:80)は同じでも、DocumentRoot と ServerNameのディレクティブがそれぞれ異なります。
<VirtualHost*:80> ServerAdminemail@site.com DocumentRoot/var/www/website1 ServerNamedomainname1.com </VirtualHost> <VirtualHost*:80> ServerAdminemail@site.com DocumentRoot/var/www/website2 ServerNamedomainname2.com </VirtualHost>
IPアドレスベースのバーチャルホスト定義を行うこともまた推奨されています。管理者はユーザに対して、IPアドレスを通じてサイトへアクセスさせメッセージを掲げられます。
<VirtualHost*:80> ServerAdminemail@site.com DocumentRoot/var/www/html ServerNamexxx.xxx.xxx.xxx </VirtualHost> >
バーチャルホストを挿入したあとには、新たなウェブサイトを有効にするために、ウェブサーバを(完全に)再起動する必要があります。
fcgid を利用して PHP を有効化する
www-apache/mod_fcgid と dev-lang/php をインストール。PHP パッケージには、cgi USE フラグの設定が必要:
root #emerge --ask www-apache/mod_fcgid dev-lang/phpmod_fcgid.conf ファイルを編集:
/etc/apache2/modules.d/20_mod_fcgid.conf<IfDefineFCGID> LoadModulefcgid_modulemodules/mod_fcgid.so SocketPath/var/run/fcgidsock SharememPath/var/run/fcgid_shm AddHandlerphp-fcgid.php AddTypeapplication/x-httpd-php.php Actionphp-fcgid/fcgid-bin/php-fcgid-wrapper # max request 128mb FcgidMaxRequestLen134217728 <Location/fcgid-bin/> SetHandlerfcgid-script Options+ExecCGI </Location> </IfDefine>
必要なディレクトリの作成:
root #mkdir /var/www/localhost/htdocs/fcgid-binPHP ラッパーへのシンボリックリンクを張る:
root #ln -s /usr/bin/php-cgi /var/www/localhost/htdocs/fcgid-bin/php-fcgid-wrapperFCGID モジュールの有効化:
/etc/conf.d/apache2fcgidモジュールを有効にするAPACHE2_OPTS="... -D FCGID"
最後に、Apache を再起動して、すでに作成されたphpinfo()サイトを確認します。Server API の値は CGI/FastCGI になるはずです。
Apache 2.4 で mod_proxy_fcgi を利用して PHP-FPM を有効化する
PHP-FPM をmod_proxy_fcgi を通じて有効にするには以下の要件を満たす必要があります:
- >= PHP 5.3
- >= Apache 2.4
さらに、Apache 2.4 での機能の利用にはいくつかの制限があります:
- UNIX ソケット経由で PHP-FPM と通信する には >= Apache 2.4.9 が必要です。
- ProxyPassMatch ではなく SetHandler を使用するには >= Apache 2.4.10 が必要です。
以下の設定は Apache 2.4.10 以降でのみ動作します。この手法は、FilesMatch ディレクティブに基づいており、メインのサーバー設定か VirtualHost の設定の中に記載します。UNIX ソケットの場所は、php-fpm.conf という設定ファイル内の listen ディレクティブによって決まり、サイトや機能ごとに別々に定めることが可能です。
以下の例では、FilesMatch を Apache の PHP モジュールの設定ファイルに記述しています:
/etc/apache2/modules.d/70_mod_php.confPHP-FPM を使う(Apache 2.4.10 以降で推奨)<IfDefinePHP> <FilesMatch"\.php$"> SetHandler"proxy:unix:/var/run/php-fpm/www.sock|fcgi://localhost" </FilesMatch> # Set it to handle the files <IfModulemod_mime.c> AddHandlerapplication/x-httpd-php.php.php5.phtml AddHandlerapplication/x-httpd-php-source.phps </IfModule> DirectoryIndexindex.phpindex.phtml </IfDefine>
また、ProxPassMatch を使用することもできます -- Apache のバージョンが 2.4.0 から 2.4.8 (これらを含む) の場合はこれが唯一の選択肢です。
/etc/apache2/modules.d/70_mod_php.confPHP-FPM を使う(2.4.8 以前で推奨)<IfDefinePHP> # Send all requested PHP files to PHP-FPM via fcgi://PHP_FPM_LISTEN_ADDRESS:PHP_FPM_LISTEN_PORT/DOCUMENT_ROOT/1ドル ProxyPassMatch^/(.*\.php)$fcgi://127.0.0.1:9000/var/www/localhost/htdocs/1ドル # Set it to handle the files <IfModulemod_mime.c> AddHandlerapplication/x-httpd-php.php.php5.phtml AddHandlerapplication/x-httpd-php-source.phps </IfModule> DirectoryIndexindex.phpindex.phtml </IfDefine>
デフォルトでは listen ディレクティブはソケットに設定されていません。まずソケットファイル用のディレクトリーを作成します:
root #mkdir /var/run/php-fpm次に php-fpm.conf ファイルを以下のように変更します:
php-fpm.conflisten ディレクティブを使う;Setpermissionsforunixsocket,ifoneisused.InLinux,read/write ;permissionsmustbesetinordertoallowconnectionsfromawebserver.Many ;BSD-derivedsystemsallowconnectionsregardlessofpermissions. ;DefaultValues:userandgrouparesetastherunninguser ;modeissetto0666 listen.owner=apache listen.group=apache ;listen.mode=0666 ;TheaddressonwhichtoacceptFastCGIrequests. ;Validsyntaxesare: ;'ip.add.re.ss:port'-tolistenonaTCPsockettoaspecificaddresson ;aspecificport; ;'port'-tolistenonaTCPsockettoalladdressesona ;specificport; ;'/path/to/unix/socket'-tolistenonaunixsocket. ;Note:Thisvalueismandatory. ;listen=127.0.0.1:9000 listen=/var/run/php-fpm/www.sock
そして、PHP および PROXY のモジュールを有効にします:
/etc/conf.d/apache2PHP およびプロキシーのモジュールを有効にするAPACHE2_OPTS="... -D PHP -D PROXY"
Web フレームワークと Apache
Apache で動作するいくつかの web フレームワークがこの wiki でカバーされています:
Let’s Encrypt から TLS 証明書を取得して HTTPS 化
パブリックなウェブサーバはすべて、"セキュア" な HTTPS アクセスを提供することが重要です。HTTPS を提供するサイトは、HTTP リクエストを HTTPS での同等な URL にリダイレクトするように設定されていることが多いです。
Let’s Encrypt は無償で TLS 証明書を発行する、非営利の認証局です。certbot は TLS 証明書の要求とインストールを簡単に行うことができるユーティリティで、Gentoo リポジトリから取得することができます。これにより、Apache の HTTPS アクセスを自動的に構成することができます。
certbot の使い方については、Let's Encrypt の記事を確認してください。EFF もまた、Gentoo 上で certbot を使って Apache を構成することに特化した説明を提供しています。
使い方
サービス
OpenRC
Apache サーバを起動:
root #rc-service apache2 startApache を default ランレベルに追加:
root #rc-update add apache2 defaultApache サービスを再起動:
root #rc-service apache2 restartApache の設定ファイルの再読込:
root #rc-service apache2 reloadsystemd
Apache サーバを起動:
root #systemctl start apache2Apache を default ランレベルに追加:
root #systemctl enable apache2Apache サービスを再起動:
root #systemctl restart apache2トラブルシューティング
資料
Apache サーバーを適切に設定するのは難しいこともあります。以下の資料は問題が起こったときに役に立つかもしれません:
テスト
Apache2 が動作し listen している IP インターフェースとポートの確認:
root #ss -tlpn | grep apacheLISTEN 0 0 0.0.0.0:80 0.0.0.0:* users:(("apache2",pid=1401,fd=3),("apache2",pid=1399,fd=3),("apache2",pid=1396,fd=3))
LISTEN 0 0 0.0.0.0:443 0.0.0.0:* users:(("apache2",pid=1401,fd=3),("apache2",pid=1399,fd=3),("apache2",pid=1396,fd=3))
localhost で Apache サーバに接続できるかテスト:
user $telnet localhost 80Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
接続テストを中断するには Ctrl+c と Enter を入力します。
apr_sockaddr_info_get() failed for <System_Hostname>
エラー:
apache2: apr_sockaddr_info_get() failed for System_Hostname
対処法:
これが発生したら、/etc/hosts ファイルにホスト名を追加してください:
/etc/hostsApache 用にホスト名を追加する127.0.0.1 localhost System_Hostname
関連項目
- Lighttpd — 高速で軽量な web サーバです。
- Nginx — 強固で小さく高性能な web サーバ/リバースプロキシサーバです。
- Category:Web application - Apache で実行するように構成することのできる、いくつかのプロジェクトを含むカテゴリ。