誰もがApacheサーバーのドキュメントルートを変更する方法を知っていますか?私は基本的にlocalhost
が/users/spencer/projects
の代わりに/var/www
ディレクトリから来ることを望みます。
私はそれを考え出しました。私はhttpd.conf
ファイルを変更することを提案しましたが、私は/etc/Apache2/sites-available/default
でファイルを見つけることになって、ルートディレクトリを/var/www
から/home/myusername/projects_folder
に変更しました、そしてそれはうまくいきました。
httpd.conf
ファイルのDocumentRoot
設定を変更する必要があります。おそらく/etc/Apache2/conf/httpd.conf
のようなものになるでしょう
あなたの好きなエディタを使い(私は Vim をお勧めします)、DocumentRoot
を探して/users/spencer/projects
に変更します。また、このような設定をもう少し下に見てください。
<Directory "/var/www">
また、引用符の中身を新しいディレクトリに変更することもできます。これにより、ユーザーがそのディレクトリを呼び出す要求を行ったときに、そのディレクトリから読み取るためのApacheアクセスが可能になります。
それでは、Apacheサービス(httpd -k restart
)を再起動してください。
編集 :Apache2サイトの設定ファイルは通常/etc/Apache2/sites-available/
(Debian、Ubuntuなど)に保存されるようになりました。
/etc/Apache2/sites-available/default
を編集しなければなりませんでした。行はRDLで述べたものと同じです。
これはUbunutu 14.04用です:
ファイル/etc/Apache2/Apache2.conf
では、ディレクトリ名を除いて以下のようになります。
<Directory /home/username>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ファイル/etc/Apache2/sites-available/000-default.conf
には、カスタムディレクトリ名、すなわちwww:を含める必要があります。
DocumentRoot /home/username/www
上記以外の場合、サーバーをロードするときにエラーが発生します。Forbidden You don't have permission to access / on this server
Apache2の異なるポートでディレクトリを変更したり、複数のディレクトリから実行したりする正しい方法は次のとおりです。
Apache2の場合、構成ファイルは/etc/Apache2
の下にあり、古いバージョンのように単一の構成ファイルを使用しませんが、/etc/Apache2/Apache2.conf
がメイン構成ファイルである小さな構成ファイルに分割されます。別のディレクトリからファイルを提供するには、新しいvirtualhost confファイルが必要です。 virtualhost confファイルは/etc/Apache2/sites-available
にあります(サイト対応のファイルは編集しないでください)。デフォルトのApacheインストールでは、virtualhost confファイル000-default.conf
が使用されます。
Apache(ポート80のlocalhostで実行されるもの)のデフォルトインストールで使用されるデフォルトの仮想ホストファイルをコピーして、新しい仮想ホストファイルを作成することから始めます。ディレクトリ/etc/Apache2/sites-available
に移動し、Sudo cp 000-default.conf example.com.conf
でコピーを作成し、Sudo gedit example.com.conf
でファイルを編集します。
<VirtualHost *:80>
ServerAdmin example@localhost
DocumentRoot /home/ubuntu/example.com
</VirtualHost>
簡潔にするために、上記のファイルから重要でない行を削除しました。ここでDocumentRoot
は、index.html
などのWebサイトファイルの提供元ディレクトリへのパスです。
たとえば、ファイルを提供するディレクトリを作成します。 mkdir example.com
およびディレクトリの所有者とデフォルトグループを変更します。たとえば、ログインしているユーザー名がubuntu
の場合、Sudo chown ubuntu:www-data example.com
としてアクセス許可を変更します。これにより、ユーザーubuntu
へのフルアクセスが許可され、グループwww-data
への読み取りおよび実行アクセスが許可されます。
次に、コマンド/etc/Apache2/Apache2.conf
を発行してApache confファイルSudo gedit Apache2.conf
を編集し、行<Directory /var/www/>
を見つけ、終了タグ</Directory>
の下に、以下を追加します。
<Directory /home/ubuntu/example.com>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
現在、仮想ホスト設定ファイルを有効または無効にする2つのコマンドがあり、それぞれa2ensite
およびa2dissite
です。 example.com.conf
ファイルはデフォルトの構成ファイル(80
)で使用されるものと同じポート(000-default.conf
)を使用するため、コマンドSudo a2dissite 000-default.conf
を発行してデフォルトの構成ファイルを無効にし、Sudo a2ensite example.com.conf
で仮想ホストconfファイルを有効にする必要があります
コマンドSudo service Apache2 restart
を使用して、サーバーを再起動またはリロードします。現在、Apacheは、example.com
のデフォルトポート上のlocalhost
にあるディレクトリ80
からファイルを提供します。
a2ensite
コマンドは、基本的に、サイト対応ディレクトリの下にあるconfファイルへのシンボリックリンクを作成します
この回答で指摘されているように、サイト対応(または*対応)のディレクトリ内でファイルを編集しないでください https://stackoverflow.com/a/41568701/253276
別のポートでディレクトリを実行する必要がある場合は、virtualhostファイルを次のように編集して、ポート番号を80から8080に変更します。
<VirtualHost *:8080>
ServerAdmin user@localhost
DocumentRoot /home/ubuntu/work
</VirtualHost>
/etc/Apache2/ports.conf
を編集し、行Listen 8080
のすぐ下にListen 80
を追加します
Example.comディレクトリはSudo a2ensite 000-default.conf
としてポート8080を使用するため、ポート80で実行されるデフォルトのvirtualhost confファイルを有効にできます。
コマンドSudo service Apache2 restart
を使用して、サーバーを再起動またはリロードします。これで、両方のディレクトリにlocalhost
およびlocalhost:8080
からアクセスできます。
Apache2 on Linux Mint 17.3 Cinnamon 64ビットの場合、次のように動作します。
/etc/Apache2/sites-available/
で000-default.conf
ファイルを開き、 Document Root を自分のディレクトリの絶対パスに変更します。
Sudo vim /etc/Apache2/sites-available/000-default.conf
/etc/Apache2/
でhttpd.conf
を開き、自分のディレクトリを参照し、<Directory>
のタグとまったく同じ設定を含むvar/www
タグを追加します。
Sudo vim /etc/Apache2/Apache2.conf
私のマシンでは、このように見えました:
<Directory /home/my_user_name/php/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
注: 最初のステップで、SSLの目的でdefault-ssl.conf
ファイルの Document Root を変更することをお勧めします。しかし、私が言うことができる限りでは、これは一般的な開発環境を動かすために必要ではありません。
LAMPと ドキュメントルートフォルダを変更するには 私は /etc/Apache2/sites-available フォルダにある デフォルト ファイルを編集しました。同じことをしたい場合は、次のように編集してください。
DocumentRoot /home/username/new_root_folder
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/username/new_root_folder>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
この後ブラウザにlocalhostと入力すると */home/username/new_root_folder * contentがロードされます。
http.conf
が見つからず、Nickの方法に従った場合。
Sudo service Apache2 restart
を使用してApacheを再起動します
Ubuntu 16.04を使用しているとします。 /etc/Apache2/sites-availableディレクトリにある000-default.confを更新してください。
ここ - > ServerAdmin ウェブマスター@ localhost DocumentRoot /var/www/html/YourFolder
私は/var/www
を必要なディレクトリ(例えば/users/username/projects
)へのソフトリンクになるようにしました、そしてそれ以降は問題ありませんでした。
ただし、当然のことながら、元の/var/www
は削除するか、名前を変更する必要があります。
Apacheバージョン2.4.18(Ubuntu).
1. /etc/Apache2/Apache2.confこのファイルにアクセスして、<Directory /var/www/>
を検索し、自分のディレクトリに置き換えます......
2. /etc/Apache2/sites-available/000-default.confにアクセスしてDocumentRoot /var/www/html
を検索し、あなたのDocumentRootに置き換えます。
Ubuntu 14.04 以降のリリースに適用されます。変更を加える前に、必ず次のファイルをバックアップしてください。
1. /etc/Apache2/Apache2.conf
を開いて<Directory /var/www/>
ディレクティブを検索し、pathを/home/<USERNAME>/public_html
に置き換えます。代わりに*を使用できます。
2. /etc/Apache2/sites-available/000-default.conf
を開き、DocumentRoot
valueプロパティを/var/www/html
から/home/<USERNAME>/public_html
に置き換えます。 <Directory /var/www/html>
から<Directory /home/<USERNAME>/public_html
まで。
3. /etc/mods-available/php7.1.conf
を開きます。次のコードを見つけてコメントする
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
ディレクティブコードの上のコメントで理由が述べられているようにphp_admin_flag engine OFF
フラグをONにしないでください。 phpのバージョンも5.0、7.0、あるいはあなたがインストールしたものなら何でも構いません。
public_html
にhome/<USERNAME>
ディレクトリを作成します。
コマンドSudo service Apache2 restart
を実行してApacheサービスを再起動します。
サーバー上でサンプルスクリプトを実行してテストします。
RedHat 7.0の場合:/etc/httpd/conf/httpd.conf
もしあなたがLinux Mintを使っているなら(個人的な意見、これは私を幸せにしているすべてのディストリビューションから)、これに従ってください:
1-/etc/Apache2/sites-availableに移動して000-default.confを編集します。 3-端末を開いてタイプ:Sudo service Apache2 restart
編集済み----- Mintでは、/etc/Apache2/Apache.confに移動し、サーバーを再起動するのではなく、/ var/wwwをそれぞれのパスに置き換えます。
それでおしまい。
誰かが/opt
フォルダーにLAMP
をインストールした場合、/etc/Apache2
はあなたが探しているものではありません。
httpd.conf
で/opt/lampp/etc/httpd.conf
ファイルを探します。
このフォルダの行を変更して端末から保存します。