WiFi: HotSpot - CoovaChilli Instalasi Apache dan SSL

From SpeedyWiki

Jump to: navigation, search

Contents

[edit] Instalasi Modul Apache

Kita butuh membuat halaman login melalui Web. Kita beruntung, pembuat CoocaChilli sudah membuatkan hotspotlogin.cgi di source code. Bisa di cari menggunakan perintah

find / | grep 'hotspotlogin.cgi'

Dalam contoh, file tersebut dapat di peroleh di

/usr/share/doc/coova-chilli/hotspotlogin.cgi.gz

Kita perlu membuat directory di Apache Web Server. Copy hotspotlogin.cgi dan ubah mode agar bisa di jalankan.

sudo mkdir -p /var/www/hotspot/cgi-bin
zcat -c /usr/share/doc/coova-chilli/hotspotlogin.cgi.gz | sudo tee /var/www/hotspot/cgi-bin/hotspotlogin.cgi
sudo chmod a+x /var/www/hotspot/cgi-bin/hotspotlogin.cgi

edit login script

vi /var/www/hotspot/cgi-bin/hotspotlogin.cgi

Uncomment dan ubah password

$uamsecret = "uamsecret";
$userpassword=1;

Jika anda ingin mengedit halaman dikemudian hari, jangan gunakan print "HTML code"; gunakan

print <<ENDHTML;
....source code HTML anda disini.....

ENDHTML 

Dengan cara ini anda tidak perlu keluar dari double quote.

[edit] Instalasi Modul SSL

Untuk menginstalasi modul Apache2 untuk authentikasi MySQL, anda dapat menjalankan perintah berikut

sudo apt-get install libapache2-mod-auth-mysql

Setelah modul di install, modul akan tersedia di /etc/apache2/mods-available. Kita dapat menggunakan perintah a2enmod untuk mengaktifkan modul. Kita juga dapat menggunakan perintah a2dismod untuk mendisable module. Jika module telah di aktifkan, maka modul tersebut tersedia di /etc/apache2/mods-enabled.

[edit] Setup Apache dan SSL

Pastikan bahwa Server LAMP terinstalasi, jika tidak kita dapat menginstalasi melalui perintah

tasksel

Buat sertifikat

sudo apt-get install ssl-cert
sudo mkdir /etc/apache2/ssl

Kita perlu mengetahui hostname untuk cert sertifikat digital

hostname -f

masukan (hardcoding) cert lifetime sesuai dengan patch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=293821#22

sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem


CATATAN: "Host Name" harus diisi dengan benar dengan hostname dari server yang akan digunakan sertifikatnya.

Host Name sesuai dengan hostname -f
host.name #ubah hostname sesuai dengan anda

[edit] Instalasi Modul

Modul mod_ssl menambahkan fitur penting di Apache2 server agar dapat berkomunikasi dengan terenkripsi. Oleh karenanya browser akan berkomunikasi menggunakan enkripsi SSL. Hal ini akan tampak pada prefix https:// digunakan pada awal dari Uniform Resource Locator (URL) di browser.

sudo a2enmod ssl
/etc/init.d/apache2 force-reload

[edit] Membuat Virtual Host

Membuat virtualhost kita perlu membuat seperti berikut

vi /etc/apache2/sites-available/hotspot
NameVirtualHost 10.1.0.1:443
<VirtualHost 10.1.0.1:443>
        ServerAdmin webmaster@domain.org
        DocumentRoot "/var/www/hotspot"
        ServerName "10.1.0.1"
        <Directory "/var/www/hotspot/">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory> 

        Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/" 
        <Directory "/usr/share/freeradius-dialupadmin/htdocs/"> 
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /var/www/hotspot/cgi-bin/ #this here is a alias with no hotspot path !!!!!!!
        <Directory "/var/www/hotspot/cgi-bin/">
                AllowOverride None
                Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/hotspot-error.log 

        LogLevel warn

        CustomLog /var/log/apache2/hotspot-access.log combined 

        ServerSignature On 
        SSLEngine on 
        SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>

Aktifkan SSL virtualhost

sudo a2ensite hotspot
/etc/init.d/apache2 reload

[edit] Buka Port

HTTPS harus memonitor port 443. Kita perlu membuka line berikut pada /etc/apache2/ports.conf:

vi /etc/apache2/ports.conf
Listen *:443
Listen *:80
#<IfModule mod_ssl.c>
#    Listen 443
#</IfModule>

Jangan lupa untuk menggubah

vi /etc/apache2/sites-available/default
NameVirtualHost *:80
<virtualhost *:80>

Juga pada Server Root

vi /etc/apache2/apache2.conf

tambahkan

ServerName 10.1.0.1

Edit file host

nano -w /etc/hosts
10.1.0.1    host.name host # ubah ke nama hostname anda

Restart Apache server

sudo /etc/init.d/apache2 restart

Coba akses ke

https://10.1.0.1/cgi-bin/hotspotlogin.cgi

dan

http://10.1.0.1:3990/

[edit] Selesai

Reboot komputer untuk memastikan tidak ada masalah sama sekali.

reboot


[edit] Pranala Menarik

Personal tools