[TUT] VestaCP + Besplatni SSL

Dok nisam popio ovaj energy drink, da napišem jedan lagan tutorijal za početnike koji žele controlni panel na svom VPS serveru uz besplatan SSL.

Šta vam je potrebno (u mom primjeru barem):

  • VPS sa min 1GB RAM
  • Clean instalacija Ubuntu 12.04 LTS
  • Putty
  • cURL, at, ve- stacp-crypt
  • Domen sa podešenim A recordsima koji ćete koristiti ofc. U ovom primjeru koristit ću domen “bosnia.com”, napominjem da VPS mora imati i važeći hostname (reverse dns), primjer “server.bosnia.com”. Ako to ne znate podesiti, bolje vam je odma prestati čitati ovu temu :stuck_out_tongue: jer nema smisla.


// PRVE I OSNOVNE KOMANDE KOJE SU MUST

  1. apt-get update
  2. apt-get upgrade

// NAKON ČISTE UBUNTU 12.04 INSTALACIJE, POTREBNO JE UKLONITI APACHE2
Kucajte komande sljedećim redoslijedom:

  1. service apache2 stop
  2. apt-get purge apache2 apache2-utils apache2.2-bin apache2-common
  3. apt-get autoremove
  4. apt-get remove --purge apache2* (i upisati y kao yes kad vas pita jeste li sigurni)

// INSTALACIJA CURLA , AT i GIT
Kucajte komande sljedećim redoslijedom:

  1. apt-get install curl
  2. apt-get install at
  3. apt-get install git

//SADA INSTALIRAMO VESTA PANEL BEZ EMAIL SERVERA, EMAIL HOSTUJTE EXTERNO (npr kod zoho.com)
Kucajte komande sljedećim redoslijedom:

  1. curl -O http://vestacp.com/pub/vst-install.sh
  2. bash vst-install.sh --nginx yes --apache yes --phpfpm no --vsftpd yes --proftpd no --exim no --dovecot no --spamassassin no --clamav no --named yes --iptables yes --fail2ban yes --mysql yes --postgresql no --remi yes --quota no --hostname server.bosnia.com --email [email protected] --password bosanceros123

U ovo podebljano svoje podatke logično postavite (to je sve jedna komanda, duga malo jbg).
Sada ce vas opet u instalaciji tražit potvrdu, upišite samo y i udrite enter.

Pričekajte 10 minuta da ono svoje odradi, ne dirajte ništa dok vam ne kaže da je instalacija završena i dadne vam login url sa vašim podacima koje ste predhodno unijeli.

// NE ZATVARAJTE PUTTY, NASTAVLJAMO SA SSL INSTALACIJOM
Sada je vaš server dodao hostname kao domenu (server.bosnia.com), vi se ulogujte sa podacima kojim ste dobili i dodajte tamo željenu domenu za koju ćete koristit SSL, u mom slučaju bosnia.com (bez server. pod domene jer je tu instaliran vestacp).
Nakon što ste to čeprkanje po panelu završili, vraćajmo se nazad u putty i nastavljamo kucat komande

  1. cd /usr/local
  2. git clone https://github.com/certbot/certbot.git
  3. git clone https://github.com/interbrite/letsencrypt-vesta.git
  4. mkdir -p /etc/letsencrypt/webroot
  5. ln -s /usr/local/letsencrypt-vesta/letsencrypt.conf /etc/apache2/conf.d/letsencrypt.conf
  6. service apache2 restart
  7. ln -s /usr/local/certbot/certbot-auto /usr/local/bin/certbot-auto
  8. ln -s /usr/local/letsencrypt-vesta/letsencrypt-vesta /usr/local/bin/letsencrypt-vesta
  9. letsencrypt-vesta admin bosnia.com (gdje je podebljano vaš ide domen, admin vam je default username to don’t touch).

Uspješno je instaliran certifikat, sada možemo pristupiti domeni **https://**bosnia.com i **https://www.**bosnia.com

Produžavanje certifikat vršimo komandom

  1. letsencrypt-vesta -a 60 admin bosnia.com

U prevodu svako 60 dana će se certifikat sam obnavljat da nemorate mislit na to.

// ZA FINISH
Kucamo komandu za restart servera, da bude sve cakum pakum

  1. reboot

To je to. Čekajte 5 minuta da se server digne sa servisima, ne zalijećite se iste minute u Putty nazad.

FAQ:
Može li više SSL-ova na jedan VPS/IP? Može, samo kucajte komandu nakon što ste dodali novi domen u panel:

  1. letsencrypt-vesta -a 65 admin croatia.com

Ta komanda će vam generirat i podesit na panel novi SSL za domen croatia.com koji će se sam obnovit svako 65 dana. Namjerno ne koristim 60 dana kao na bosnia.com da se ne bi zeznulo šta na isti dan.



Kako da automatski koristim HTTPS na svom domenu (kada ljudi posjećuju da im je sajt sa sslom)? Napravite .htaccess file sa tekstom ispod i ubacite ga u public_html gdje vam je domen:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://bosnia.com/$1 [R,L]

4 Likeova

:triumph:

Bravo! Svaka čast na tutorijalu!!!

Nisam čitao tutorijal jer mi se ne sviđa ovo formatiranje na forumu, ali mi je upalo u oko 12.04 verzija.
Zašto takva outdated verzija ? :smiley:
Još ovo zadnje ja bi dodao HSTS header jer sam redirect nije dovoljan. HTTPS bez HSTS je isto kao da ga i nema nikako. Ali ga ne bi preporučio onima koji ne znaju šta rade jer bi mogli samo sebe sjebat i učinit domenu nedostupnom većini korisnika. Samo tko je 100% siguran da će podržavat HTTPS dulje vrijeme treba ovaj header koristiti ili ga keširati kraće vrijeme samo u kada testira.

Ovako bi se dodao ovaj header na Apache-ju u .htaccess na primjer:

Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains;"

hvala majstore bosancherosu :slight_smile:

Nema na cemu