WiFi: HotSpot - CoovaChilli Instalasi Apache dan SSL

From OnnoCenterWiki
Jump to: navigation, search

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.

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.

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

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

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

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/

Selesai

Reboot komputer untuk memastikan tidak ada masalah sama sekali.

reboot


Pranala Menarik