WAMPServer 2.5 Beranda, Menu Proyek Anda, dan Host Virtual
Telah ada perubahan konsep di WampServer 2.5 dan ada alasan bagus untuk perubahan ini!
Di WampServer 2.5, sekarang SANGAT dianjurkan untuk membuat Virtual Host untuk setiap proyek Anda, bahkan jika Anda menyimpannya di \wamp\www\subfolder
struktur.
Dokumentasi Host Virtual
Contoh Host Virtual
Halaman beranda WampServer (\ wamp \ www \ index.php) sekarang mengharapkan Anda untuk membuat Virtual Host untuk semua proyek Anda dan karenanya hanya akan berfungsi dengan baik jika Anda melakukannya.
Sejarah
Untuk membuat hidup lebih mudah bagi pemula menggunakan WampServer untuk belajar PHP Apache dan MySQL, disarankan agar Anda membuat subfolder di bawah \wamp\www\
map.
wamp
|-- www
|-- Chapter1
|-- Chapter2
|-- etc
Subfolder ini kemudian akan ditampilkan sebagai tautan di WampServer Homepage di bawah menu yang disebut 'Proyek Anda' dan tautan ini akan berisi tautan ke localhost/subfoldername
.
Hanya dapat diterima untuk tutorial sederhana
Hal ini membuat hidup menjadi mudah bagi pemula yang lengkap, dan dapat diterima sebagai contoh bagi mereka yang mengikuti tutorial untuk belajar coding PHP.
Namun, itu tidak pernah dimaksudkan untuk digunakan ketika mengembangkan situs web nyata yang nantinya ingin Anda salin ke server yang dihosting secara langsung.
Bahkan, jika Anda memang menggunakan mekanisme ini, itu sering menyebabkan masalah karena konfigurasi situs langsung tidak akan cocok dengan konfigurasi pengembangan Anda.
Masalah untuk pengembangan situs web nyata.
Alasan untuk ini adalah, tentu saja, pengaturan DocumentRoot default untuk WAMP adalah
DocumentRoot "c:/wamp/www/"
terlepas dari apa yang disebut subfolder Anda.
Ini berarti bahwa kode PHP yang sering digunakan yang menanyakan struktur situs Anda menerima informasi yang berbeda ketika menjalankan WampServer pengembangan Anda dengan apa yang akan diterimanya ketika berjalan di server yang dihosting langsung, di mana konfigurasi DocumentRoot menunjuk ke folder di bagian atas situs web hierarki file.
Kode semacam ini ada di banyak kerangka kerja dan CMS, misalnya, WordPress dan Joomla, dll.
Sebagai contoh
Katakanlah kita memiliki proyek yang disebut project1 wamp\www\project1
dan jalankan sebagai localhost/project1/index.php
Inilah yang akan dilaporkan oleh beberapa perintah PHP yang dimaksud:
$_SERVER['HTTP_HOST'] = localhost
$_SERVER['SERVER_NAME'] = localhost
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www
Sekarang jika kita telah mendefinisikan situs itu dengan benar menggunakan definisi Host Virtual dan menjalankannya sebagai http://project1
, hasil di situs pengembangan WAMPServer akan cocok dengan yang diterima ketika di lingkungan yang dihosting langsung.
$_SERVER['HTTP_HOST'] = project1
$_SERVER['SERVER_NAME'] = project1
$_SERVER['DOCUMENT_ROOT'] = c:/wamp/www/project1
Sekarang, perbedaan ini mungkin tampak sepele pada awalnya, tetapi jika Anda menggunakan kerangka kerja seperti WordPress atau salah satu CMS seperti Joomla misalnya, ini dapat dan memang menyebabkan masalah ketika Anda memindahkan situs Anda ke server langsung.
Cara membuat Virtual Host di WampServer
Sebenarnya, ini seharusnya bekerja pada dasarnya sama untuk setiap server Windows Apache, dengan perbedaan hanya di mana Anda dapat menemukan file konfigurasi Apache.
Ada 3 langkah untuk membuat Virtual Host pertama Anda di Apache, dan hanya 2 jika Anda sudah memilikinya.
- Buat definisi Virtual Host.
- Tambahkan nama domain baru Anda ke file HOSTS.
- Batalkan komentar pada baris di httpd.conf yang menyertakan file definisi Host Virtual.
Langkah 1 , Buat definisi Virtual Host
Edit file yang disebut httpd-hosts.conf
yang, untuk WampServer, tinggal di
\wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conf
(Nomor versi Apache mungkin berbeda, aktifkan otak sebelum melanjutkan)
Jika ini adalah pertama kalinya Anda mengedit file ini, hapus kode contoh default, ini tidak ada gunanya.
Saya berasumsi kita ingin membuat definisi untuk situs bernama project1 yang hidup
\wamp\www\project1
Sangat penting, pertama kita harus memastikan bahwa localhost masih berfungsi sehingga itu adalah definisi VHOST pertama yang akan kita masukkan ke file ini.
<VirtualHost *:80>
DocumentRoot "c:/wamp/www"
ServerName localhost
ServerAlias localhost
<Directory "c:/wamp/www">
AllowOverride All
Require local
</Directory>
</VirtualHost>
Sekarang kami mendefinisikan proyek kami: dan ini tentu saja Anda lakukan untuk setiap proyek Anda saat Anda memulai yang baru.
<VirtualHost *:80>
DocumentRoot "c:/wamp/www/project1"
ServerName project1
<Directory "c:/wamp/www/project1">
AllowOverride All
Require local
</Directory>
</VirtualHost>
CATATAN: Setiap Virtual Host memiliki masing-masing DocumentRoot
didefinisikan. Ada juga banyak parameter lain yang dapat Anda tambahkan ke definisi Virtual Host, periksa dokumentasi Apache.
Selain kecil
Cara host virtual bekerja di Apache: Definisi pertama dalam file ini juga akan menjadi situs default, jadi jika nama domain yang digunakan dalam browser tidak cocok dengan domain yang benar-benar didefinisikan host, membuat localhost sebagai domain pertama dalam file akan membuat itu situs yang dimuat jika upaya hack hanya menggunakan Alamat IP Anda.
Jadi jika kita memastikan keamanan Apache untuk domain ini SELALU DILAKUKAN
Require local
setiap peretasan biasa dari alamat eksternal akan menerima kesalahan dan tidak masuk ke PC Anda, tetapi jika Anda salah mengeja domain, Anda akan ditampilkan beranda WampServer, karena Anda menggunakan PC yang sama dengan WampServer dan local
.
Langkah 2 :
Tambahkan nama domain baru Anda ke file HOSTS.
Sekarang kita perlu menambahkan nama domain yang telah kita gunakan dalam definisi Virtual Host ke file HOSTS sehingga Windows tahu di mana menemukannya. Ini mirip dengan membuat catatan DNS A, tetapi hanya terlihat dalam kasus ini di PC khusus ini.
Edit C:\windows\system32\drivers\etc\hosts
File tidak memiliki ekstensi dan harus tetap seperti itu. Perhatikan notepad, karena dapat mencoba dan menambahkan .txt
ekstensi jika Anda tidak memiliki editor yang lebih baik.
Saya sarankan Anda mengunduh Notepad ++, gratis dan editor yang sangat bagus.
Juga, ini adalah file yang dilindungi, jadi Anda harus mengeditnya dengan hak administrator, jadi luncurkan editor Anda menggunakan Jalankan sebagai administrator opsi menu.
File host akan terlihat seperti ini ketika Anda telah menyelesaikan pengeditan ini
127.0.0.1 localhost
127.0.0.1 project1
::1 localhost
::1 project1
Perhatikan bahwa Anda harus memiliki definisi di sini untuk alamat loopback IPV4 127.0.0.1
dan juga alamat loopback IPV6 ::1
karena Apache sekarang sadar IPV6 dan browser akan menggunakan IPV4 atau IPV6 atau keduanya. Saya tidak tahu bagaimana memutuskan mana yang akan digunakan, tetapi dapat digunakan jika Anda memiliki tumpukan IPV6 dihidupkan, dan sebagian besar OS Windows lakukan pada XP SP3.
Sekarang kita harus memberi tahu Windows untuk memperbarui cache nama domainnya, jadi luncurkan jendela perintah lagi menggunakan Jalankan sebagai administrator opsi menu lagi, dan lakukan hal berikut.
net stop dnscache
net start dnscache
Ini memaksa Windows untuk menghapus cache nama domainnya dan memuatnya kembali, dengan memuatnya kembali akan membaca kembali file HOSTS jadi sekarang ia tahu tentang domain tersebut project1
.
Langkah 3 : Batalkan komentar pada baris di httpd.conf yang menyertakan file definisi Host Virtual.
Edit httpd.conf Anda, gunakan menu wampmanager.exe untuk memastikan Anda mengedit file yang benar.
Temukan baris ini di httpd.conf
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Dan hapus saja #
untuk menghapus komentar garis itu.
Untuk mengaktifkan perubahan ini di Anda yang menjalankan Apache, kita sekarang harus berhenti dan restart layanan Apache
wampmanager.exe -> Apache -> Service -> Restart Service
Sekarang jika ikon WAMP dalam baki sistem tidak menjadi HIJAU lagi, itu berarti Anda mungkin telah melakukan sesuatu yang salah di \wamp\bin\apache\apache2.4.9\conf\extra\httpd-hosts.conf
mengajukan.
Jika demikian, berikut ini adalah mekanisme yang berguna untuk mencari tahu apa yang salah. Ia menggunakan fitur Apache exe (httpd.exe) untuk memeriksa file konfigurasi dan melaporkan kesalahan dengan nama file dan nomor baris.
Buka jendela perintah.
cd \wamp\bin\apache\apache2.4.9\bin
httpd -t
Jadi perbaiki kesalahan dan tes ulang lagi sampai Anda mendapatkan output
Syntax OK
Sekarang ada satu hal lagi.
Sebenarnya ada 2 item menu baru pada sistem menu wampmanager. Yang disebut [b] 'Proyek Saya' [/ b] yang dinyalakan secara default.
Dan yang kedua, disebut [b] 'Tuan Virtual Saya' [/ b], yang tidak diaktifkan secara default.
'Proyek Saya' akan mencantumkan sub direktori dari direktori \ wamp \ www dan memberikan tautan untuk meluncurkan situs dalam sub direktori tersebut.
Seperti yang saya katakan sebelumnya, ia meluncurkan 'project1` dan bukan' localhost / project1 ', jadi untuk membuat tautan berfungsi, kita harus membuat definisi Host Virtual untuk membuat tautan ini benar-benar meluncurkan situs itu di browser Anda, tanpa definisi Host Virtual itu kemungkinan akan meluncurkan pencarian web untuk nama situs sebagai kata kunci atau hanya mengembalikan situs yang tidak ditemukan kondisinya.
Item menu 'My Virtual Hosts' sedikit berbeda. Ini mencari file yang digunakan untuk mendefinisikan Virtual Hosts (kita akan membahasnya dalam satu menit) dan membuat tautan menu untuk setiap parameter ServerName yang ditemukannya dan membuat item menu untuk masing-masing.
Ini mungkin tampak sedikit membingungkan karena setelah kita membuat definisi Virtual Host untuk sub direktori dari folder \ wamp \ www, beberapa item akan muncul di kedua menu 'Proyek Saya' dan menu 'Host Virtual Saya'.
Bagaimana cara mengaktifkan menu 'My Virtual Hosts' lainnya?
- Buat cadangan file \ wamp \ wampmanager.tpl, kalau-kalau Anda membuat kesalahan, itu file yang sangat penting.
- Edit \ wamp \ wampmanager.tpl
- Temukan parameter ini
;WAMPPROJECTSUBMENU
, ada di bagian '[Menu.Left]'.
- Tambahkan parameter baru ini
;WAMPVHOSTSUBMENU
sebelum atau sesudah ;WAMPPROJECTSUBMENU
parameter.
- Simpan file.
- Sekarang klik kanan ikon wampmanager, dan pilih 'Refresh'. Jika ini tidak menambahkan menu, 'keluar' dan restart wampmanager.
Catatan Besar Menu baru hanya akan muncul jika Anda sudah memiliki beberapa Host Virtual! Jika tidak, Anda tidak akan melihat perbedaan sampai Anda menentukan VHOST.
Sekarang jika Anda membawa ini ke ekstensi logisnya
Anda sekarang dapat memindahkan kode situs web Anda sepenuhnya di luar \wamp\
struktur folder hanya dengan mengubah parameter DocumentRoot dalam definisi VHOST. Jadi, misalnya, Anda bisa melakukan ini:
Buat folder pada disk WAMP atau disk lain (waspadalah terhadap drive jaringan, mereka sedikit lebih rumit)
D:
MD websites
CD websites
MD example.com
CD example.com
MD www
Anda sekarang menyalin kode situs Anda ke, atau mulai membuatnya di \websites\example.com\www
folder dan tentukan VHOST Anda seperti ini:
<VirtualHost *:80>
DocumentRoot "d:/websites/example.com/www"
ServerName example.dev
ServerAlias www.example.dev
<Directory "d:/websites/example.com/www">
AllowOverride All
Require all granted
</Directory>
php_flag display_errors Off
php_flag log_errors On
php_value max_upload_size 40M
php_value max_execution_time 60
php_value error_log "d:/wamp/logs/example_com_phperror.log"
</VirtualHost>
Kemudian tambahkan domain pengembangan baru ini ke file HOSTS:
127.0.0.1 localhost
::1 localhost
127.0.0.1 project1
::1 project1
127.0.0.1 example.dev
::1 example.dev
CATATAN: Bukan ide yang baik untuk menggunakan ServerName atau ServerAlias yang sama dengan nama domain langsung Anda, seolah-olah kami telah menggunakan example.com sebagai ServerName, itu berarti kami tidak lagi dapat mengunjungi situs langsung nyata dari PC ini. karena akan mengarahkan example.com ke 127.0.0.1, yaitu PC ini dan tidak keluar ke internet.
JUGA:
Melihat bahwa saya telah mengizinkan situs ini diakses dari internet dari dalam definisi VHOST, perubahan ini hanya berlaku untuk situs ini dan tidak ada yang lain. Sangat berguna untuk memungkinkan klien melihat perubahan Anda selama satu jam atau lebih tanpa harus menyalinnya ke server langsung.
Ini berarti bahwa kita harus mengedit file ini secara manual untuk menghidupkan dan mematikan akses ini daripada menggunakan item menu Put Online / Offline di wampmanager.
Juga, saya telah menambahkan beberapa modifikasi pada konfigurasi PHP, sekali lagi yang hanya akan berlaku untuk situs yang satu ini.
Sangat berguna ketika memelihara situs dengan persyaratan khusus tidak seperti semua situs lain yang Anda kelola.
Saya kira kita dapat mengasumsikan dari parameter yang digunakan bahwa ia memiliki halaman yang berjalan lama di suatu tempat dan itu ditulis dengan sangat buruk dan tidak akan berjalan dengan kesalahan yang ditampilkan pada browser tanpa membuat halaman berantakan. Percayalah, situs seperti ini ada dan orang-orang masih menginginkannya dikelola sangat . Tetapi ini berarti kita hanya perlu mengubah parameter ini untuk situs spesifik ini dan tidak secara global ke semua situs Virtual yang berjalan di WampServer.
Buka "www" dan edit index.php
menemukan: $ suppress_localhost = true;
dan ganti dengan $ suppress_localhost = false;
Kemudian restart server Anda.
sumber