Dengan asumsi Anda telah menginstal apache, lakukan hal berikut:
sudo a2enmod userdir
sudo service apache2 reload
Perintah pertama mengaktifkan mod apache userdir, yang melakukan apa yang Anda inginkan. Yang kedua memuat ulang konfigurasi apache sehingga mulai menggunakan konfigurasi baru.
Untuk menginstal apache2:
sudo apt-get install apache2
Tentu saja, Anda juga harus memastikan bahwa izin pada folder public_html Anda memungkinkan pengguna www-data untuk melihat file di sana -- 755 biasanya bekerja dengan baik. Untuk melakukannya:
mkdir ~/public_html
chmod -R 755 ~/public_html
Ini secara rekursif (-R) akan melewati public_html Anda dan menyetel izin ke 755 (pemilik rwx, dan grup dan r-x lainnya, r-x).
Jawaban lainnya ada di jalur yang benar dengan mod_userdir
, tetapi menggunakannya akan memberi situs web Anda URL dasar http://www.yourdomain.com/~username/
- misalnya, file /home/username/public_html/index.html
akan dapat diakses sebagai http://www.yourdomain.com/~username/index.html
. Jika Anda ingin file Anda dapat diakses di root domain, seperti http://www.yourdomain.com/index.html
misalnya, maka Anda harus meletakkan direktif
DocumentRoot /home/username/public_html
dalam file konfigurasi Apache.
Anda perlu menggunakan mod_userdir untuk Apache, jika tidak, Anda perlu menyiapkan symlink dari /var/www/
atau di mana pun.
Masalah izin Anda adalah karena Apache tidak memiliki akses baca ke file Anda. Anda harus mengizinkan akses baca ke www-data
(atau apa pun penggunanya; khusus distro).