WAMP 403 Pesan terlarang di Windows 7

101

Saya telah menginstal WAMP versi 2.1 di mesin windows 7 saya. Ketika saya menjelajah ke localhost di browser saya, halaman server WAMP terlihat.

Tetapi ketika saya menelusuri ke IP saya di browser saya, saya mendapatkan pesan

403 Forbidden: Anda tidak memiliki izin untuk mengakses / di server ini.

Ada saran?

Jake
sumber
Akses ke server Apache Anda dilarang dari alamat selain 127.0.0.1di httpd.conf(file konfigurasi Apache)
Nasreddine
Saya mengoreksi itu, sekarang saya mendapatkan 403 Forbidden di phpMyAdmin saya, ada saran untuk itu?
Jake
ada juga phpmyadmin.confyang berisi arahan untuk alias 'localhost / phpmyadmin'
Nasreddine
jika Anda di sini untuk windows 8 chk stackoverflow.com/questions/13945783/…
lusuh

Jawaban:

126

Akses ke server Apache Anda dilarang dari alamat selain 127.0.0.1di httpd.conf(file konfigurasi Apache):

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
</Directory>

Hal yang sama berlaku untuk akses PHPMyAdmin Anda, file konfigurasinya adalah phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
</Directory>

Anda dapat mengaturnya untuk mengizinkan koneksi dari semua alamat IP seperti berikut:

AllowOverride All
Order allow,deny
Allow from all
Nasreddine
sumber
7
Ini pasti akan membuka akses dari alamat IP manapun, tapi bukankah itu sedikit berbahaya? Aturan untuk mengizinkan 'dari 127.0.0.1' harus cukup untuk memungkinkan akses lokal, jika itu adalah tujuan utama di sini, 127.0.0.1 pada dasarnya adalah loop kembali ke adaptor jaringan. Jika Anda mengetik di bilah alamat 'http': //127.0.0.1: {portNumber} / {folderOrFileName} 'seharusnya berfungsi dengan baik. Ini seharusnya berfungsi sama seperti menggunakan localhost, tetapi saya telah menemukan beberapa browser memiliki masalah dengan localhost karena beberapa alasan.
Jeremy
Saya tidak bisa memformat baris alamat saya di komentar terakhir itu jadi ada tambahan "'" di dalamnya abaikan saja maaf itu jika membingungkan siapa pun.
Jeremy
Catatan: file menetapkan default yang kemudian diganti satu per satu setelahnya, jadi pastikan baris ini mengikuti semua penggantian.
pertemuan
3
Jangan lupa untuk "Mulai Ulang Semua Layanan" dari menu baki sistem WAMP (atau cara apa pun yang Anda lakukan.)
Plummer
12
Untuk Apache versi 2.4.x ganti Require localdengan Require all granteddi dalam file httpd.conf di dalam <Directory "c:/wamp/www/">tag kemudian Restart semua layanan
Rakesh
62

Saya menemukan perbaikan yang lebih sederhana ...

Meskipun ikon berwarna hijau, WAMP tetap harus "Pasang Online" (item terakhir menu saat ikon klik kiri).

Setelah itu saya memiliki akses seperti biasa.

Bobs Yeruncle
sumber
3
Sebenarnya, ini harus ditandai sebagai jawaban yang diterima. Terima kasih bung.
ummahusla
Solusi ini layak mendapat upvote karena konfigurasinya diperbarui ketika Anda benar-benar mengklik tombol put online: forum.wampserver.com/read.php?1,119467,119546
Pierre-Yves Guillemet
Ini memperbaikinya untuk saya juga. Meskipun dalam kasus saya, saya harus terlebih dahulu "Put offline", lalu "Pasang online" dan bekerja tanpa perubahan apa pun pada file konfigurasi saya! Terima kasih!!
Osmar
1
Sebenarnya, saya mulai membuat semua itu pada jawaban pertama yang diterima. Dan itu tidak membantu. Kemudian saya melihat ini di sini, dan saya berpikir 'Tidak mungkin ini bisa menjadi ini ...', tapi, begitulah dan berhasil.
Fusseldieb
Supercalifragilisticexpialidocious!
Vahid
25

Bagi saya, penyertaan "Memerlukan lokal" membantu mengatasi Kesalahan 403. File konfigurasi alias terlihat seperti ini:

Alias /mytest/ "C:/mytest/" 

<Directory "C:/mytest/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order allow,deny
    Allow from all
    Require local
</Directory>
Girts Strazdins
sumber
3
Ini bekerja untuk saya juga, menggunakan Apache 2.4.9. Sudah lama mencari ini. Terima kasih!
Jonathan Lidbeck
Options Indexes FollowSymLinks MultiViewsdiperlukan juga
Hammad Khan
Ada alasan untuk menambahkan bagian "C: / mytest /"? Tampaknya tidak memiliki efek apa pun, dan hanya meninggalkan / pada akhirnya seperti standar tampaknya bekerja dengan baik
Squazz
Lebih baik gunakan 'Wajibkan semua diberikan' sebagai ganti 'Wajibkan lokal' jika Anda ingin membuka situs Anda di perangkat lain dari jaringan lokal Anda
Rakesh
Menambahkan "Izinkan dari semua" berhasil untuk saya.
Rex the Strange
10

Solusi untuk mengubah hak akses di httpd.conf akan berfungsi jika Anda setuju dengan memberikan akses ke server WAMP dari luar.

Jika Anda tidak ingin melakukannya, yang harus Anda lakukan adalah memberi tahu windows bahwa domain "localhost" menunjuk ke 127.0.0.1. Anda dapat melakukannya dengan mengedit file host di direktori sistem Anda.

File tersebut ditempatkan di: C: \ Windows \ System32 \ drivers \ etc \ hosts

secara default windows 7 dikirimkan dengan:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost

Anda harus menghapus komentar pada pemetaan untuk localhost:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
#   ::1         localhost

Catatan: Anda tidak akan dapat mengedit file host sebagai file hanya-baca. Untuk mengedit, Anda harus menjadi administrator, menyalin file ke lokasi lain, mengeditnya, lalu menyalinnya kembali ke direktori etc.

Saya tidak merekomendasikan perubahan file host. Gunakan izin file httpd.conf. gunakan pendekatan file hosts hanya jika Anda tidak ingin server diakses dari luar.

Punit Raizada
sumber
8

Coba tambahkan baris kode berikut ke file httpd-vhosts.conf:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "C:\wamp\www"
ServerName localhost
</VirtualHost>
WADeveloper
sumber
7

Hal lain yang saya temukan adalah jika adaptor jaringan Anda menggunakan IPV6, itu tidak akan ditampilkan sebagai 127.0.0.1 tetapi :: 1

Apa yang akhirnya saya lakukan adalah ini:

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1
    Allow from ::1
</Directory>

Hal yang sama berlaku untuk akses PHPMyAdmin Anda, file konfigurasinya adalah phpmyadmin.conf:

<Directory "c:/wamp/apps/phpmyadmin3.4.5/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Deny from all
        Allow from 127.0.0.1
        Allow from ::1
</Directory>
Geekhuh
sumber
Saya pikir jawaban ini benar-benar membahas hal penting yang ditanyakan, yaitu ketika IPv6 diaktifkan, localhost menyelesaikan ke alamat IPv6 (:: 1) dan yang pada gilirannya berarti bahwa alamat yang meminta juga akan menjadi alamat IPv6 (juga :: 1) yang TIDAK sama dengan 127.0.0.1 yang merupakan satu-satunya alamat yang mengizinkan koneksi. Juga, localhost menyelesaikan melalui server DNS lokal secara default (bukan host) dan itu hanya terlihat lebih baik menurut saya untuk membiarkannya seperti itu dan sebagai gantinya menonaktifkan IPv6 sehingga localhost menyelesaikan 127.0.0.1 atau mengubah / menyertakan seperti di atas.
fast-reflexes
hanya menambahkan 'Izinkan dari :: 1' ke "c: \ wamp \ alias \ file phpmyadmin.conf" memecahkan masalah 403 phpmyadmin.
ewroman
4

jika Anda telah menggunakan localhost / phpmyadmin /

cukup gunakan

127.0.0.1/phpmyadmin/ untuk PHPMyAdmin

127.0.0.1/sqlbuddy/ untuk SQLBuddy

atau jika Anda pernah menggunakan localhost: 8080 / phpmyadmin / then

127.0.0.1:8080/phpmyadmin/ untuk PHPMyAdmin

127.0.0.1:8080/sqlbuddy/ untuk SQLBuddy

suiz
sumber
4

Ingatlah untuk menghapus elemen dummy di httpd-vhosts.conf

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>
pengguna3684707
sumber
Terima kasih! Ini memperbaikinya.
Steve
4

Untuk Apache versi 2.4.x cukup ganti Require localdengan Require all granteddi file httpd.conf di dalam <Directory "c:/wamp/www/">tag kemudian Restart semua layanan

Rakesh
sumber
1
Ini melakukan trik untuk saya. Anehnya, 2 VirtualHost lainnya (di httpd-vhosts.conf) tidak memiliki 'Require local' atau 'Require all given', dan masih berfungsi dengan baik. ¯_ (ツ) _ / ¯
kmdsax
3

Untuk Wamp 3.1.3 dan Apache 2.4 saya hanya perlu mengubah 1 baris di file httpd-vhosts.conf saya.

  1. Buka httpd-vhosts.conf
  2. Ubah "Wajibkan lokal" menjadi "Wajibkan semua yang diberikan"
  3. Mulai ulang semua layanan

Saya kemudian bisa masuk ke server apache saya dari komputer lain.

Berikan kredit untuk video ini: https://www.youtube.com/watch?v=Sy_f6wBGnjI

EldritchText
sumber
2

Ada banyak penyebab untuk masalah ini

Apa yang saya alami adalah:
1) 127.0.0.1 localhostentri diduplikasi di file host
2) Apache mod_rewritetidak diaktifkan

Terlepas dari penyebabnya, mencadangkanwww folder Anda , file konfigurasi vhost (dan file konfigurasi httpd) akan membantu. Dan proses seperti itu membutuhkan waktu beberapa menit.

Semoga berhasil

ericn
sumber
2

Saya membaca & mencoba Semua Perbaikan Tapi Tidak ada yang berhasil. Akhirnya saya Menemukan bahwa Logo Server Wamp Berwarna Hijau Tetapi Perlu "DITAMPILKAN SECARA ONLINE". Begitu sederhana & Perbaikan Cepat Setelah Memeriksa Anda PHPMyAdmin.Cofg& HttPD.cofgCukup Klik PUT ONLINE

Nexones
sumber
1

Saya mencoba konfigurasi di atas dan hanya ini yang berfungsi untuk konfigurasi WAMP Apache 2.4.2 saya. Untuk beberapa situs root tanpa domain bernama di file host Windows Anda, gunakan http://locahost:8080, http://localhost:8081, http://localhost:8082dan konfigurasi ini:

#ServerName localhost:80
ServerName localhost

Listen 8080
Listen 8081
Listen 8082
#..... 
<VirtualHost *:8080>
    DocumentRoot "c:\www"
    ServerName localhost
    <Directory "c:/www/">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
<VirtualHost *:8081>
    DocumentRoot "C:\www\directory abc\svn_abc\trunk\httpdocs"
    ServerName localhost
    <Directory "C:\www\directory abc\svn_abc\trunk\httpdocs">
        Options Indexes FollowSymLinks
        AllowOverride all
        Require local
    </Directory>
</VirtualHost>
#<VirtualHost *:8082></VirtualHost>.......
s6712
sumber
1

Saya menghadapi masalah ini dengan wamp di windows 7. Menambahkan kode berikut ke httpd-vhosts.conf memecahkan masalah untuk saya.

<VirtualHost *:80>
  DocumentRoot "F:/wamp_server/www/"
  ServerName localhost
</VirtualHost>
Vishal
sumber
1

Terima kasih atas pertanyaan Anda. Saya menggunakan wamp 3 sekarang. Dan saya menemukan jawaban sederhana untuk melakukan ini di bawah pertanyaan Anda. Tapi jawaban itu harus sedikit berubah pada wamp 3. Langkah-langkahnya adalah sebagai berikut:

  1. Klik kanan ikon wamp
  2. Pilih Pengaturan Wamp
  3. Klik item Menu: online / offline
  4. Ikon wamp klik kiri
  5. Anda akan menemukan ada item baru bernama "Pasang online"
Smart Du
sumber
Terima kasih, @ miltonb.
Smart Du
1

Aku butuh waktu lama untuk memikirkannya.

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

Dalam file ini Anda akan melihat beberapa contoh file virtual host, yang terlihat seperti:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host.example.com"
    ServerName dummy-host.example.com
    ServerAlias www.dummy-host.example.com
    ErrorLog "logs/dummy-host.example.com-error.log"
    CustomLog "logs/dummy-host.example.com-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "c:/Apache24/docs/dummy-host2.example.com"
    ServerName dummy-host2.example.com
    ErrorLog "logs/dummy-host2.example.com-error.log"
    CustomLog "logs/dummy-host2.example.com-access.log" common
</VirtualHost>

Cukup hapus entri ini dan ganti dengan:

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "C:\wamp\www"
    ServerName localhost
</VirtualHost>

Anda pasti perlu memastikan bebek Anda yang lain berada dalam barisan tetapi ini untuk saya dengan solusi yang berhasil.

Aaron S.
sumber
0

hai ada 2 solusi:

  1. ubah port 80 menjadi 81 di file teks (httpd.conf) dan klik 127.0.0.1:81

  2. ubah pengaturan jaringan pergi ke panel kontrol - jaringan dan internet - jaringan dan pusat berbagi

klik -> koneksi area lokal pilih -> propertis centang benar di -allow other ..... dan --- allo other .....

يوسف الجرعي
sumber
0

Saya punya masalah ini juga. Rute masalah saya adalah saya telah membuat kesalahan dalam file vhosts.conf saya. Jika Anda menggunakan vhosts, ini adalah hal lain untuk diperiksa

Pattle
sumber
0

Konfigurasi di httpd.conf ini berfungsi dengan baik untuk saya.

<Directory "c:/wamp/www/">
    Options Indexes FollowSymLinks
    AllowOverride all
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1 ::1
</Directory>
Fabio
sumber
0

Pastikan Anda tidak menggunakan karakter pemisah direktori Windows (garis miring terbalik) di nama jalur Anda di file .conf Anda, meskipun Anda menggunakan Windows. Apache tidak memahaminya tetapi masih akan mulai dan kemudian mengeluarkan file403 Forbidden Message .

salah:

<Directory "c:\websites\my-website\">

Baik:

<Directory "c:/websites/my-website/">
David Murdoch
sumber
0

Anehnya, tanda kurung siku di jalur DocumentRoot (dan terkait, seperti <Directory>) juga dapat menyebabkan kesalahan 403:

  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master[bang]" gagal dengan 403, sementara
  • DocumentRoot "P:/TRY/web/fatfree/from_github/fatfree-master" bekerja dengan baik.

(Saya tidak repot-repot mencari tahu jalan keluar Apache, jika ada, cukup ganti nama jalannya saja. Jika ada yang tahu, komentar dipersilakan.)

Sz.
sumber
0

Solusi saya adalah menonaktifkan pengkodean untuk file yang dikodekan (file-file ini berwarna hijau di windows). Saya mendapatkan file ini dari komputer MAC dan dienkripsi secara default.

Ive select these files > right click > properities > general tab > andvanced > uncheck encrypt files...

Dan voila itu berhasil.

petkopalko.dll
sumber
0

Saya telah mencoba semua hal kecuali membersihkan kekacauan di file .htaccess.

Buka direktori www / dan buat salinan file .htaccess di folder lain. Kemudian hapus semua baris di .htaccess asli . Dan tambahkan baris ini,

RewriteEngine On

Kemudian restart server. Ini telah memecahkan masalah saya dan mendapat akses ke semua situs localhost saya. Berharap itu akan menyelesaikan masalah Anda juga.

siddhu151dj
sumber
0

Juga di Apache 2,4 Anda mungkin perlu menambahkan ini ke direktif direktori di conf, jika Anda memutuskan untuk menyertakan httpd-vhosts.conf.

Secara default Anda dapat menginstal wamp di C: \ tetapi tetap memilih untuk menyebarkan pengembangan web Anda di lokasi lain.

Untuk melakukan ini di dalam vhosts.conf Anda dapat menambahkan arahan ini:

<Directory "e:/websites">
    Options Indexes FollowSymLinks MultiViews
    DirectoryIndex index.php
    AllowOverride All
  <IfDefine APACHE24>
    Require local
  </IfDefine>
  <IfDefine !APACHE24>
    Order Deny,Allow
    Allow from all
    Allow from localhost ::1 127.0.0.1
  </IfDefine>
</Directory>
amresh tripathi
sumber
0

pastikan bahwa, nama file di direktori c:/wamp/apps/phpmyadmin3.1.3.1/, sesuai dengan nama (atau versi) di phpMyAdmin.conf ( Alias /phpmyadmin "c:/wamp/apps/phpmyadmin3.1.3.1/")

M. Yousif
sumber
0

Saya telah menemukan bahwa jika Anda menggunakan ammps yang karena alasan tertentu selalu dilarang ketika berada di folder root Anda jadi saya meletakkannya di direktori di atas folder root saya dan membuat alias di httpd.conf menggunakan ini

Alias /phpmyadmin "C:/Program Files (x86)/Ampps/phpMyAdmin"

harap dicatat saya menggunakan ammps dan saya tidak tahu pasti apakah itu akan bekerja untuk orang lain tetapi patut dicoba;)

Nik Hendricks
sumber