Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tautan Proyek tidak berfungsi di Server Wamp

Cara membuat Virtual Host di WampServer

WAMPServer 3 telah membuat proses ini lebih mudah!

Anda dapat melakukan hampir semua hal dari utilitas yang disediakan sebagai bagian dari WAMPServer.

  • Buat folder di dalamnya untuk memuat project.site Anda. Ini dapat berada di bawah C:\wamp\www\ direktori atau dalam folder yang benar-benar terpisah seperti C:\websites .

  • Buat folder di dalam lokasi yang Anda pilih EG C:\websites\project1\www atau di bawah c:\wamp\www\project1\www

  • Sekarang buka localhost wampmanager->localhost dan klik tautan Add a Virtual Host di bawah bagian ALAT di beranda.

Anda akan melihat halaman seperti ini:

  • Isi kolom seperti yang ditentukan oleh instruksi di atas setiap kolom

  • Konfigurasi Virtual Host akan dibuat untuk Anda.

  • Sekarang Anda harus me-restart Cache DNS. Anda dapat melakukannya dari menu wampmanager seperti ini right click wampmanager->Tools->Restart DNS . Cache DNS akan di-restart dan kemudian Apache juga akan dihentikan dan di-restart. Ketika ikon wampmanager berubah menjadi hijau lagi, semuanya selesai.

  • Sekarang Anda harus membuat index.php sederhana file atau instal situs Anda ke dalam folder yang Anda buat di atas.

  • Dengan asumsi VH Anda disebut project.dev Anda akan melihat nama itu di bawah Host Virtual Anda Bagian dari beranda WAMPServer.

  • Anda dapat meluncurkan situs dari menu ini, atau cukup gunakan Nama Domain baru di bilah alamat EG project1.dev dan situs harus diluncurkan.

Mekanisme WAMPServer 2.5 lama, atau jika Anda ingin melakukan semuanya secara manual

Ada perubahan konsep di WampServer 2.5 dan di atasnya dan ada alasan bagus untuk perubahan ini!

Di WampServer 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 Host Virtual untuk semua proyek Anda dan karena itu akan berfungsi dengan baik hanya jika Anda melakukannya.

Sejarah

Untuk membuat hidup lebih mudah bagi pemula yang menggunakan WampServer untuk belajar PHP Apache dan MySQL, disarankan agar Anda membuat subfolder di bawah \wamp\www\ folder.

wamp
  |-- www
       |-- Chapter1
       |-- Chapter2
       |-- etc

Subfolder ini kemudian akan ditampilkan sebagai tautan di Beranda WampServer di bawah menu yang disebut 'Proyek Anda' dan tautan ini akan berisi tautan ke localhost/subfoldername .

Hanya dapat diterima untuk tutorial sederhana

Ini membuat hidup menjadi mudah bagi pemula yang lengkap, dan sangat dapat diterima misalnya bagi mereka yang mengikuti tutorial untuk belajar pengkodean PHP. Namun itu tidak pernah dimaksudkan untuk digunakan saat mengembangkan situs web nyata yang nantinya ingin Anda salin ke server yang dihosting secara langsung. Faktanya, jika Anda menggunakan mekanisme ini, sering kali menyebabkan masalah karena konfigurasi situs langsung tidak cocok dengan konfigurasi pengembangan Anda.

Masalahnya untuk pengembangan situs web yang sebenarnya.

Alasannya tentu saja karena pengaturan default DocumentRoot untuk wamp adalah

DocumentRoot "c:/wamp/www/"

terlepas dari apa nama subfolder Anda. Ini yang sering menggunakan kode PHP yang menanyakan struktur atau situs Anda menerima informasi yang berbeda saat menjalankan WampServer pengembangan Anda dengan apa yang akan diterimanya saat dijalankan di server yang dihosting langsung, di mana konfigurasi DocumentRoot menunjuk ke folder di bagian atas hierarki file situs web. Kode semacam ini ada di banyak kerangka kerja dan CMS misalnya WordPress dan Joomla dll.

Misalnya

Katakanlah kita memiliki proyek bernama project1 yang diadakan di wamp\www\project1 dan salah dijalankan sebagai localhost/project1/index.php

Inilah yang akan dilaporkan oleh beberapa perintah PHP yang bersangkutan:

$_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 Virtual Host dan menjalankannya sebagai http://project1 hasil di situs pengembangan WAMPServer akan cocok dengan yang diterima saat berada di lingkungan yang dihosting secara 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 saat Anda memindahkan situs Anda ke server langsung.

Cara membuat Virtual Host di WampServer

Sebenarnya ini pada dasarnya harus bekerja sama untuk semua server Apache wndows, dengan perbedaan hanya di tempat Anda dapat menemukan file konfigurasi Apache.

Ada 3 langkah untuk membuat Virtual Host pertama Anda di Apache, dan hanya 2 langkah jika Anda sudah memilikinya.

  1. Buat definisi Host Virtual
  2. Tambahkan nama domain baru Anda ke file HOSTS.
  3. Batalkan komentar pada baris di httpd.conf yang menyertakan file definisi Host Virtual.

Langkah 1 , Buat definisi Host Virtual

Edit file bernama httpd-hosts.conf yang untuk WampServer tinggal di

\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf

(Nomor versi Apache mungkin berbeda, gunakan otak sebelum melanjutkan)

Jika ini adalah pertama kalinya Anda mengedit file ini, hapus kode contoh default, itu tidak ada gunanya.

Saya berasumsi kita ingin membuat definisi untuk situs bernama project1 yang hidup di

\wamp\www\project1

Sangat penting, pertama-tama kita harus memastikan bahwa localhost masih berfungsi sehingga definisi VHOST pertama yang akan kita masukkan ke dalam file ini.

<VirtualHost *:80>
    DocumentRoot "c:/wamp/www"
    ServerName localhost
    ServerAlias localhost
    <Directory  "c:/wamp/www">
        Options Indexes FollowSymLinks
        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">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

CATATAN:Bahwa setiap Virtual Host sebagai DocumentRoot-nya sendiri didefinisikan. Ada juga banyak parameter lain yang dapat Anda tambahkan ke definisi Virtual Host, periksa dokumentasi Apache.

Sisi kecil

Cara kerja host virtual di Apache:Definisi pertama dalam file ini juga akan menjadi situs default, jadi jika nama domain yang digunakan di browser tidak cocok dengan domain host virtual yang sebenarnya ditentukan, menjadikan localhost sebagai domain pertama dalam file karena itu akan membuat itu situs yang dimuat jika upaya peretasan hanya menggunakan Alamat IP Anda. Jadi jika kami memastikan bahwa keamanan Apache untuk domain ini SELALU DISET KE

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 diperlihatkan beranda WampServer, karena Anda berada di PC yang sama dengan WampServer dan oleh karena itu 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. Hati-hati dengan notepad, karena mungkin 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 sehingga Anda harus mengeditnya dengan hak administrator, jadi luncurkan editor Anda menggunakan Jalankan sebagai Administrator pilihan menu.

File host akan terlihat seperti ini setelah Anda 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 mengetahui IPV6 dan browser akan menggunakan IPV4 atau IPV6 atau keduanya. Saya tidak tahu bagaimana ia memutuskan mana yang akan digunakan, tetapi dapat digunakan jika Anda mengaktifkan tumpukan IPV6, dan sebagian besar OS jendela melakukannya pada XP SP3.

Sekarang kita harus memberi tahu windows untuk menyegarkan 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, dalam memuat ulang itu akan membaca ulang file HOSTS jadi sekarang ia tahu tentang domain 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 pada baris itu.

Untuk mengaktifkan perubahan ini pada Anda yang menjalankan Apache, sekarang kita harus menghentikan dan memulai ulang layanan Apache.

wampmanager.exe -> Apache -> Service -> Restart Service

Sekarang jika ikon WAMP di 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 berkas.

Jika demikian, inilah mekanisme yang berguna untuk mencari tahu apa yang salah. Ia menggunakan fitur Apache exe (httpd.exe) untuk memeriksa file konfigurasi dan melaporkan kesalahan berdasarkan nama file dan nomor baris.

Luncurkan jendela perintah.

cd \wamp\bin\apache\apache2.4.9\bin
httpd -t

Jadi perbaiki kesalahan dan uji ulang lagi hingga Anda mendapatkan output

Syntax OK

Sekarang ada satu hal lagi.

Sebenarnya ada 2 item menu baru di sistem menu wampmanager. Salah satunya disebut 'Proyek Saya' yang diaktifkan secara default. Dan yang kedua, disebut 'Host Virtual Saya' , yang tidak diaktifkan secara default.

'Proyek Saya' akan mencantumkan sub direktori dari direktori \wamp\www dan menyediakan tautan untuk meluncurkan situs di sub direktori tersebut. Seperti yang saya katakan sebelumnya, ia meluncurkan 'project1` dan bukan 'localhost/project1' sehingga membuat link berfungsi kita harus membuat definisi Virtual Host untuk membuat tautan ini benar-benar meluncurkan situs itu di browser Anda, tanpa definisi Virtual Host kemungkinan akan meluncurkan pencarian web untuk nama situs sebagai kata kunci atau hanya mengembalikan kondisi situs tidak ditemukan.

Item menu 'Host Virtual Saya' sedikit berbeda. Ini mencari file yang digunakan untuk mendefinisikan Virtual Host (kita akan membahasnya dalam satu menit) dan membuat tautan menu untuk setiap parameter ServerName yang ditemukannya dan membuat item menu untuk masing-masingnya. Ini mungkin tampak sedikit membingungkan ketika kita membuat definisi Host Virtual untuk subdirektori folder \wamp\www beberapa item akan muncul di menu 'Proyek Saya' dan menu 'Host Virtual Saya'.

Bagaimana cara mengaktifkan menu 'Host Virtual Saya' yang lain ini?

  • Buat backup 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 baik sebelum atau sesudah ;WAMPPROJECTSUBMENU parameter.
  • Simpan file.
  • Sekarang klik kanan ikon wampmanager, dan pilih 'Refresh'. Jika ini tidak menambahkan menu, 'keluar' dan mulai ulang wampmanager.

Catatan Besar Menu baru hanya akan muncul jika Anda sudah menetapkan beberapa Virtual Host! 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 di disk wamp atau disk lain ( hati-hati dengan drive jaringan, ini sedikit lebih rumit)

D:
MD websites
CD websites
MD example.com
CD example.com
MD www

Sekarang Anda menyalin kode situs 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">
        Options Indexes FollowSymLinks
        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:Ini bukanlah ide yang baik untuk menggunakan ServerName atau ServerAlias ​​yang sama dengan nama domain live Anda, seolah-olah kita telah menggunakan example.com sebagai ServerName itu berarti kita tidak dapat lagi mengakses live yang sebenarnya situs dari PC ini karena akan mengarahkan example.com ke 127.0.0.1 yaitu PC ini dan tidak keluar ke internet.

JUGA:Perhatikan bahwa saya telah mengizinkan situs ini untuk diakses dari internet dari dalam definisi VHOST, perubahan ini hanya akan berlaku untuk situs ini dan tidak untuk 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 mengaktifkan dan menonaktifkan akses ini daripada menggunakan Put Online/ Item menu offline di wampmanager.

Saya juga telah menambahkan beberapa modifikasi pada konfigurasi PHP, sekali lagi itu hanya akan berlaku untuk satu situs 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 yang dimilikinya halaman yang berjalan lama di suatu tempat dan ditulis dengan sangat buruk dan tidak akan berjalan dengan kesalahan yang ditampilkan di browser tanpa membuat halaman berantakan. Percayalah situs seperti ini ada dan orang-orang masih ingin mereka dipelihara dengan buruk . Tapi ini berarti kita hanya perlu mengubah parameter ini untuk situs khusus ini dan tidak secara global ke semua situs Virtual yang berjalan di WampServer.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menghitung Rata-Rata Penjualan Per Minggu di MySQL

  2. Dapatkan catatan dengan nilai maksimal untuk setiap grup hasil SQL yang dikelompokkan

  3. UTF-8 sepenuhnya

  4. Cara Mendapatkan Catatan dari 7 Hari Terakhir di MySQL

  5. MySQL:ALTER TABLE jika kolom tidak ada