Ketika saya mengakses server web Apache menggunakan localhost dari PC server web yang sama, itu menunjukkan halaman default Apache2 Ubuntu.
Tetapi ketika saya mengakses server web Apache menggunakan 192.168.0.2 , ia memberikan 403 Forbidden error (Forbidden Anda tidak memiliki izin untuk mengakses / di server ini).
Detail Server Web
- Ubuntu 14,04 LTS
- Apache versi 2.4.7
Perintah Kepemilikan
www-data sudo adduser ftpuser www-data
sudo chown -R www-data:ftpuser /var/www
sudo chmod -R g+rwX /var/www
Dalam etc / apache2 / apache2.conf berkas
ServerName 192.168.0.2
<Directory/>
AllowOverride All
Require all granted
</Directory>
Dalam etc / apache2 / port.conf berkas
NameVirtualHost *:80
Listen *:80
Host Virtual untuk satu situs web
<VirtualHost *:80>
ServerName mysite
DocumentRoot /var/www/mysite
<Directory /var/www/mysite>
Options None FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Pengaturan apa yang harus saya lakukan di tempat mana? Tolong bantu...
ServerName 192.168.0.2
baris sebagai direktif ServerName harus memiliki nama seperti www.server.com dan bukan nomor IP. Saya pikir ini bisa menyelesaikan masalah. Untuk ServerName Anda harus memasukkan nama server jika Anda memilikinya. ServerName memungkinkan hosting virtual berbasis nama, yang memungkinkan memiliki lebih banyak situs web pada IP yang sama.Jawaban:
1. Anda harus mengonfigurasi file / etc / hosts Anda seperti itu:
Di mana
test-site
"localhost" kedua. Danmy-hostname
"System hostname" didefinisikan dalam/etc/hostname
.2. Anda harus mendefinisikan dan mengaktifkan Virtual Host (VH):
Ada HTTP VH default. Itu ditempatkan di
/etc/apache2/sites-available/
. Nama filenya adalah000-default.conf
. Anda harus mengeditnya (Anda dapat mengganti nama, jika mau, atau membuat beberapa file .conf lainnya, berdasarkan itu) dan setelah itu Anda harus mengaktifkannya.Anda dapat mengaktifkannya secara manual melalui pembuatan "tautan simbolik":
Atau Anda dapat menggunakan alat Apache2 yang disebut a2ensite , yang membuatnya sama:
Anggap ada 3 Host Virtual , SSL yang diaktifkan, dan domain pribadi terdaftar (SOS.info sebagai contoh):
Dan satu yang dibuat untuk keperluan topik ini:
Konten dari 2 VH Pertama adalah:
$ cat /etc/apache2/sites-available/
http.SOS.info.conf
Yang ini mengalihkan semua permintaan HTTP ke HTTPS.
$ cat /etc/apache2/sites-available/
https.SOS.info.conf
Ini adalah HTTPS VH.
Konten kedua file ini dapat diposting dalam satu file, tetapi dalam hal ini manajemennya (
a2ensite
/a2dissite
) akan lebih sulit.Virtual Host ketiga adalah yang dibuat untuk tujuan kita :
$ cat /etc/apache2/sites-available/
http.test-site.conf
3. Dengan konfigurasi ini Anda harus mengakses:
Pada contoh utama Anda harus mengakses dan :
Cobalah untuk membuka situs di browser web atau coba (di terminal) dengan perintah berikut:
Tentu saja, Anda perlu memiliki beberapa
index.html
halaman di DocumentRoot mereka :)4. Anda perlu mengkonfigurasi `/ etc / apache2 / apache2.conf` dengan benar.
Ii adalah ide bagus untuk meluangkan waktu untuk meningkatkan keamanan server Anda. Manual ini berisi tentang konfigurasi keamanan: 1 dan 2 . Di sini Anda bisa mendapatkan sertifikat SSL gratis. Situs-situs ini akan membantu Anda memeriksa kemajuan Anda: 1 dan 2 .
Menurut
/etc/apache2/apache2.conf
file keamanan manual di atas harus terlihat seperti:5. Atur Firewall.
Untuk mengizinkan / menolak akses eksternal ke server web Anda, Anda dapat menggunakan UFW (Uncomplicated Firewall):
Untuk mengizinkan hanya
tcp
penggunaan protokol:Anda dapat menggunakan dan nomor port secara langsung:
Untuk berjaga-jaga jika Anda dapat memuat "tabel aturan":
Anda dapat menggunakan dan antarmuka GUI UFW, yang disebut gufw .
Pilih
Office
profilnya. Ini akan mengatur:Status:ON
,Incoming:Deny
danOutgoing:Allow
dan menambahkan aturan Anda.6. Jika Anda memiliki router jangan lupa untuk meneruskan beberapa port:
Jika Anda memiliki router dan Anda ingin server web Anda dapat diakses dari Internet , jangan lupa untuk menambahkan penerusan porta. Sesuatu seperti ini .
sumber
/var/log/apache2/error.log
.Silakan ubah kepemilikan direktori tempat Anda menyajikan file dari menggunakan perintah:
sumber
Saya seharusnya menautkan Anda ke jawaban ini di mana menyelesaikan masalah saya.
Pertama-tama, tambahkan izin ke folder:
Kemudian tambahkan teks ini:
Sampai akhir file ini:
sumber