Siapkan situs localhost di apache?

11

Saya sudah mencari selama berminggu-minggu tentang cara mengatur lingkungan localhost di ubuntu tanpa solusi yang baik.

Inilah yang ingin saya capai:

Saya ingin memiliki folder root saya seperti /home/'username'/Sites/'projectname.pl 'atau / home /' username '/ Sites / pl /' projectname '/ public (atau simular)

Ketika mengakses localhost saya, saya tidak ingin menulis localhost / 'projectname' / public (atau yang lainnya) Saya ingin dapat mengakses proyek hanya dengan mengetik http: //'projectname'.pl

Saya tahu ini dapat dicapai pada server apache di OSX tetapi saya belum dapat menemukan panduan untuk mencapai ini di mesin Ubuntu saya.

Saya akan sangat berterima kasih atas bantuan apa pun, dan saya sangat berharap itu mungkin.

Salam!

Timah
sumber

Jawaban:

16

Anda dapat mengatur vhosts di

/etc/apache2/sites-available

Untuk setiap vhost Anda ingin membuat file conf di direktori ini. Dalam konfigurasi vhost Anda dapat mengatur root dokumen Anda. Nama file harus diakhiri dengan .conf

Jadi misalnya: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

Sekarang aktifkan situs Anda dengan:

sudo a2ensite projectname

Dan mulai ulang apache:

sudo /etc/init.d/apache2 restart

Kemudian edit file / etc / hosts Anda.

Cukup tempelkan baris:

127.0.0.1 projectname.pl

pada akhirnya.

Sekarang Anda dapat mengakses situs Anda dengan http://projectname.pl

rechengehirn
sumber
Terima kasih atas jawaban Anda. Saya menggunakan beberapa karakter ilegal dalam pertanyaan saya yang mengakibatkan beberapa teks jatuh. Saya telah memperbarui pertanyaan saya sekarang. Silakan merujuknya lagi dan lihat apakah ada hal lain yang harus saya lakukan untuk membuatnya bekerja. Salam!
Pewter
Yah pada dasarnya tetap sama. Saya telah mengedit jawaban untuk keinginan Anda :)
rechengehirn
Dua poin kunci di sini adalah penamaan konfigurasi apache dengan ekstensi konfigurasi dan memulai kembali apache setelahnya.
JohnMerlino
Bekerja untukku !!
arqam
1

Hanya untuk menambahkan jawaban lain di sini, cara saya mengkonfigurasi perilaku seperti itu adalah dengan symlink ... Tampaknya berfungsi dengan baik. Ini sangat mudah dilakukan, dan tidak memerlukan file konfigurasi apa pun.

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

Bagian terakhir di atas mungkin berbeda untuk Anda. Di atas adalah apa yang saya gunakan di Linux Mint 17. Direktori '/ var / www / html /' adalah folder "situs" apache default.

Jadi ya, bagi siapa saja yang mencari metode yang bersih dan mudah untuk memetakan situs tanpa benar-benar menempatkan direktori situs mereka di folder apache default, itu dia.

Catatan: Saya tidak yakin apakah di atas sesuai untuk lingkungan produksi, tetapi untuk pengembangan lokal, sepertinya tidak apa-apa. Alasan saya tidak yakin adalah karena symlink membawa izin folder di direktori home, yang (kemungkinan besar) "dimiliki" oleh pengguna. Jika perlu, Anda jelas dapat mengubahnya ke 'root' yang lebih aman seperti direktori apache, tetapi saya membiarkannya sendiri karena saya hanya menggunakan ini di lingkungan pengembangan.

derekmx271
sumber