Adakah yang tahu cara mengubah root dokumen dari server Apache? Saya pada dasarnya ingin localhost
datang dari /users/spencer/projects
direktori bukan /var/www
.
Edit
Saya akhirnya mencari tahu. Beberapa menyarankan saya mengubah httpd.conf
file, tetapi saya akhirnya menemukan file di /etc/apache2/sites-available/default
dan mengubah direktori root dari /var/www
ke /home/myusername/projects_folder
dan itu berhasil.
Jawaban:
Anda perlu mengubah
DocumentRoot
pengaturan dihttpd.conf
file Anda . Kemungkinannya adalah akan berada di bawah sesuatu seperti/etc/apache2/conf/httpd.conf
Gunakan editor favorit Anda (saya sarankan Vim ) dan cari
DocumentRoot
dan ubah ke/users/spencer/projects
. Juga lihat sedikit lebih jauh ke bawah untuk pengaturan yang terlihat seperti ini:Anda juga ingin mengubah apa yang ada dalam tanda kutip ke direktori baru Anda. Ini memberi Apache akses untuk membaca dari direktori itu ketika seorang pengguna membuat permintaan yang memanggilnya.
Sekarang restart layanan apache Anda (
httpd -k restart
) dan Anda harus siap.Sunting : File konfigurasi situs Apache2 sekarang biasanya disimpan di
/etc/apache2/sites-available/
(Debian, Ubuntu, dll).sumber
Harap dicatat, bahwa ini hanya berlaku untuk Ubuntu 14.04 LTS dan rilis yang lebih baru.
Di Ubuntu 14.04 LTS saya, root dokumen disetel ke
/var/www/html
. Itu dikonfigurasi dalam file berikut:Jadi lakukan saja
dan ubah baris berikut ke apa yang Anda inginkan:
Juga lakukan a
dan temukan ini
dan ubah
/var/www/html
ke direktori pilihan Andadan simpan itu.
Setelah Anda menyimpan perubahan Anda, cukup restart server web apache2 dan Anda akan selesai :)
Jika Anda lebih suka editor teks grafis, Anda bisa mengganti
sudo nano
dengan agksu gedit
.sumber
var/www/html
sebagai root default. Apakah mereka benar-benar berusaha membuang waktu orang? :)You don't have permission to access / on this server.
ketika saya menekan localhost: 80 di browser saya. Apakah saya perlu mengubah port?<Directory path_to_directory> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
/etc/apache2/apache2.confSaya harus mengedit
/etc/apache2/sites-available/default
. Garis-garisnya sama dengan yang disebutkan oleh RDL.sumber
.conf
di akhir, dan secara default memiliki000-
awalan sebagai". Hasilnya adalah/etc/apache2/sites-available/000-default.conf
. Saya belum menguji ini, tetapi mungkin membantu beberapa orang.Ini untuk Ubunutu 14.04:
Dalam file
/etc/apache2/apache2.conf
seharusnya seperti di bawah ini tanpa nama direktori:dan dalam file
/etc/apache2/sites-available/000-default.conf
Anda harus memasukkan nama direktori kustom yaitu www:Jika tidak seperti di atas, itu akan memberi Anda kesalahan saat memuat server:
Forbidden You don't have permission to access / on this server
sumber
Cara yang tepat untuk mengubah direktori atau menjalankan dari banyak direktori di bawah port yang berbeda untuk apache2 adalah sebagai berikut:
Untuk apache2 file konfigurasi terletak di bawah
/etc/apache2
dan tidak menggunakan file konfigurasi tunggal seperti dalam versi yang lebih lama tetapi dibagi menjadi file konfigurasi yang lebih kecil, dengan/etc/apache2/apache2.conf
menjadi file konfigurasi utama. Untuk melayani file dari direktori yang berbeda, kami memerlukan file conf virtualhost baru. File conf virtualhost berada di/etc/apache2/sites-available
(jangan mengedit file dalam situs yang diaktifkan). Instalasi apache default menggunakan file conf virtualhost000-default.conf
.Mulailah dengan membuat file virtualhost baru dengan menyalin file virtualhost default yang digunakan oleh instalasi default apache (yang berjalan di localhost pada port 80). Ubah ke direktori
/etc/apache2/sites-available
dan kemudian salin dengansudo cp 000-default.conf example.com.conf
, sekarang edit file dengansudo gedit example.com.conf
ke:Saya telah menghapus baris yang tidak penting dari file di atas untuk singkatnya. Berikut
DocumentRoot
adalah jalur ke direktori tempat file situs web akan dilayani sepertiindex.html
.Buat direktori dari mana Anda ingin melayani file, untuk misalnya;
mkdir example.com
dan ubah pemilik dan grup default direktori, misalnya misalnya jika nama pengguna Anda yang login adalahubuntu
ubah izinsudo chown ubuntu:www-data example.com
. Ini memberikan akses penuh ke penggunaubuntu
dan memungkinkan membaca dan mengeksekusi akses ke grupwww-data
.Sekarang edit file conf apache
/etc/apache2/apache2.conf
dengan mengeluarkan perintahsudo gedit apache2.conf
dan temukan baris<Directory /var/www/>
dan di bawah tag penutup</Directory>
, tambahkan yang berikut di bawah ini:Sekarang ada dua perintah untuk mengaktifkan atau menonaktifkan file konfigurasi virtualhost, yaitu
a2ensite
dana2dissite
masing - masing. Sekarang karenaexample.com.conf
file kita menggunakan port yang sama (80
) seperti yang digunakan oleh file konfigurasi default (000-default.conf
), kita harus menonaktifkan file konfigurasi default dengan mengeluarkan perintahsudo a2dissite 000-default.conf
dan mengaktifkan file conf virtualhost kami dengansudo a2ensite example.com.conf
Sekarang restart atau muat ulang server dengan perintah
sudo service apache2 restart
. Sekarang apache melayani file dari direktoriexample.com
padalocalhost
pada port default80
.Itu
a2ensite
perintah pada dasarnya menciptakan link simbolik ke file conf di bawah direktori situs-diaktifkanJangan mengedit file di dalam pengarahan situs-situs yang diaktifkan (atau * -diaktifkan), seperti yang ditunjukkan dalam jawaban ini https://stackoverflow.com/a/41568701/2532763
Untuk mengubah port dan menjalankan dari banyak direktori pada port yang berbeda:
Sekarang jika Anda perlu menjalankan direktori pada port yang berbeda, ubah nomor port dari 80 menjadi 8080 dengan mengedit file virtualhost sebagai:
dan mengedit
/etc/apache2/ports.conf
dan menambahkanListen 8080
tepat di bawah garisListen 80
Sekarang kita dapat mengaktifkan file conf virtualhost default yang berjalan pada port 80 karena direktori example.com menggunakan port 8080, sebagai
sudo a2ensite 000-default.conf
Sekarang restart atau muat ulang server dengan perintah
sudo service apache2 restart
. Sekarang kedua direktori dapat diakses darilocalhost
danlocalhost:8080
sumber
Saya bekerja dengan LAMP dan Untuk mengubah folder Root Dokumen saya telah mengedit file default yang ada di folder / etc / apache2 / sites-available . Jika Anda ingin melakukan hal yang sama, edit saja seperti berikut
Setelah ini, jika Anda mengetik localhost di browser, ia akan memuat konten * / home / username / new_root_folder * .
sumber
Jika Anda tidak dapat menemukannya
http.conf
dan mengikuti cara Nick.Mulai ulang Apache menggunakan
sudo service apache2 restart
sumber
Untuk apache2 di Linux Mint 17.3 Cinnamon 64-bit, karya-karya berikut:
Dalam
/etc/apache2/sites-available/
membuka000-default.conf
file, dan ubah Root Dokumen ke jalur absolut dari direktori Anda.sudo vim /etc/apache2/sites-available/000-default.conf
Secara
/etc/apache2/
terbukahttpd.conf
, dan tambahkan<Directory>
tag yang merujuk ke direktori Anda dan berisi pengaturan yang sama persis dengan tag untukvar/www
.sudo vim /etc/apache2/apache2.conf
Di mesin saya itu terlihat seperti ini:
Catatan: Pada langkah pertama Anda mungkin ingin mengubah Root Dokumen di
default-ssl.conf
file juga untuk keperluan SSL. Tapi sejauh yang saya tahu ini tidak diperlukan untuk menjalankan lingkungan pengembangan umum.sumber
Di apache versi 2.4.18 (Ubuntu).
1. pergi ke file ini /etc/apache2/apache2.conf cari
<Directory /var/www/>
dan ganti ke direktori Anda ......2. pergi ke /etc/apache2/sites-available/000-default.conf cari
DocumentRoot /var/www/html
dan ganti ke DocumentRoot Anda ....sumber
Jika Anda menggunakan Ubuntu 16.04. Harap perbarui 000-default.conf di direktori / etc / apache2 / sites-available.
di sini -> ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / YourFolder
sumber
Saya telah menjadikannya
/var/www
sebagai tautan lunak ke direktori yang diperlukan (mis./users/username/projects
) Dan semuanya baik-baik saja setelah itu.Namun, tentu saja, dokumen asli
/var/www
perlu dihapus - atau diganti namanya.sumber
Jika seseorang telah menginstal
LAMP
di/opt
folder itu maka/etc/apache2
itu bukan apa yang Anda cari.Cari
httpd.conf
file di/opt/lampp/etc/httpd.conf
.Ubah baris di folder ini dan simpan dari terminal.
sumber
Di RedHat 7.0:
/etc/httpd/conf/httpd.conf
sumber
Jika Anda menggunakan Linux Mint (pendapat pribadi, dari semua distro yang satu ini membuat saya bahagia), ikuti ini:
1- Buka / etc / apache2 / sites-available dan edit 000-default.conf 2- Cari DocumentRoot, contoh DocumentRoot / var / www / html yang Anda ubah ke direktori Anda masing-masing; 3 - Buka terminal dan ketik: sudo service apache2 restart
DIedit ----- Saya menyadari bahwa di Mint Anda menggunakan /etc/apache2/apache.conf, ganti / var / www ke jalur Anda masing-masing, daripada restart server (langkah 3).
Itu dia.
sumber
Berlaku untuk Ubuntu 14.04 dan rilis yang lebih baru. Pastikan untuk membuat cadangan file berikut sebelum melakukan perubahan.
1. Buka
/etc/apache2/apache2.conf
dan cari<Directory /var/www/>
arahan dan ganti jalur dengan/home/<USERNAME>/public_html
. Anda dapat menggunakan * alih-alih.2. Buka
/etc/apache2/sites-available/000-default.conf
dan gantiDocumentRoot
properti nilai dari/var/www/html
hingga/home/<USERNAME>/public_html
. Juga<Directory /var/www/html>
untuk<Directory /home/<USERNAME>/public_html
.3. Buka
/etc/mods-available/php7.1.conf
. Temukan dan komentari kode berikutJangan nyalakan
php_admin_flag engine OFF
bendera karena alasan disebutkan dalam komentar di atas kode Directive. Juga versi php dapat 5.0, 7.0 atau apa pun yang telah Anda instal.Buat
public_html
direktori dihome/<USERNAME>
.Mulai ulang layanan apache dengan menjalankan perintah
sudo service apache2 restart
.Uji dengan menjalankan skrip sampel di server.
sumber
Jika Anda (seperti saya) menemukan posting ini melalui Google:
Saya menemukannya di /etc/apache2/sites-available/000-default.conf
sumber