Jedna od stvari koja može da vam uštedi vreme pri podešavanju servera, baze i hostinga, jeste instalacija tzv. LAMP servera, što skraćeno znači Linux, Apache, MySQL, PhpMyAdmin.
Ovaj tekst je predviđen za one koji žele sami da podese svoj server hosting.
Podešavanja koja su napisana, odnosno se na remote server, koji je postavljen na hostingu Linode.
Obično kad se odlučite da pravite sajt, kupujete gotovo rešenje i ono što vam nudi hosting kuća.
U ovom slučaju vi kupujete samo prostor na serveru i sva ostala podešavanja su do vas kako ćete i šta ćete instalirati.
Ja sam izabrao Cloud Linode server, jer sam kroz neke testove došao do zaključka da su vrlo bezbedni za rad, kao i to što mogu da se postave vrlo zahtevne aplikacije na njega i da imam kontrolu nad memorijskim resursima i ostalim potrebnim konfiguracijama.
Ovo nije reklama za Linode, jer postoje i druge firme koje nude ovakav vid usluga, jednostavno kada ovo radite, prepušteni ste sebi i svom znanju,
obzirom na to da ovakve firme ne nude support u smisli konfigrusianja servera.
Dakle, da krenemo.
U ovom delu ćemo proći kroz to kako da sami podesite vaš server i postavite svoj sajt.
S obzirom na to da postoje različite verzije Linux distribucija, ja sam ovde uradio sve na Debian 9 Linuxu, pa će ovaj tutorijal biti onako kako sam ja podesio.
Instalacija LAMP servera
Prvo što treba da uradite kada ste se povezali na vaš remote server jeste naravo update.
$ sudo apt-get update
Kada je update završen, kucajte sledeću komandu kako biste instalirali LAMP server. Ovde instaliramo apache2, mysqserver i phpmyadmin.
$ sudo apt-get install apache2 php libapache2-mod-php mysql-client mysql-server phpmyadmin
Kada pokrene aplikaciju pitaće vas da li nastavljate, kliknite YES.
Kad ste završili ovaj korak, prikazaće vam prozor u kojem ćete selektovati apache2, kao što je prikazano na slici.
Ovde obratite pažnju, jer možete slučajno da kliknete samo na OK, a da niste selektovali apache2 i onda ćete imati problem kasnije.
Dakle, SPACE →TAB →Enter
Nakon ovog koraka ćete videti dalju instlacaiju.
U novom prozoru kliknite YES.
Nakon ovog koraka će vas pitati za lozinku.
Unesite vašu novu lozinku za MySQL server i u drugom prozoru je potvrdite.
Instalacija je nastavljena, a kada je završio instalaciju, sledećom komadnom proverite status apache2
$ sudo systemctl status apache2
Ukoliko vam Output bude kao dole naveden active (running), i obeležen obično zelenim slovima, vaš server radi i uspešno je instaliran. Bravo.
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset:
Active: active (running) since Sun 2018-03-13 02:36:48 UTC; 5min ago
Main PID: 14463 (apache2)
CGroup: /system.slice/apache2.service
├─14463 /usr/sbin/apache2 -k start
├─14465 /usr/sbin/apache2 -k start
└─14466 /usr/sbin/apache2 -k start
Sada proverite da li vam je instaliran ida li radi MySQL server
$ sudo systmectl status mysql
Ukoliko vam je Output statusa sličan ovom dole, sve je u redu i vaš MySQL je uspešno instaliran. Bitno je da active (running) bude zelene boje
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-03-13 03:05:17 UTC; 1min 37s ago
Main PID: 16127 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─16127 /usr/sbin/mysqld
Sada ćemo instalirati bezbednost za MySQL sledećom komandom
$ sudo mysql_secure_installation
U nastavku će vas pitati za unos lozinke za root, kao i to da je potvrdite.
Nakon toga ćete imati četri pitanja . Odgovor neka vam bude sa Y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
Kada ste ovo sve završili, otvorite vaš omiljeni browser i kucajte localhost.
Ukoliko je sve u redu , izbaciće vam sliku Debian početen stranice, odnosno apache2, kao što je prikazano ovde.
Nakon toga, kucajte sledeće, kako biste proverili da li vam radi phpmyadmin
http://localhost/phpmyadmin
Ukoliko vam prikaže ovakcu stranicu, znači da je vaš Phpmyadmin aktivan i možete se ulogovati
Ovde se logujete sa korisnikom phpmyadmin , a upisujete lozinku onu koju ste naveli pri instalaciji MySQL servera.
Sada ćete videti dve baze podataka.
Izlogujte se i probajte testa radi da kucate username root i vašu lozinku, sada će vam izbaciti grešku, jer niste napravili bazu podataka ni korisnika za ovu bazu.
Idemo dalje…
Login na MySQL server i kreiranje korisnika
Sad ćete se ulogovati na mysql server sledećom komandom
$ sudo mysql -u root -p
Pitaće vas za lozinku i unesite lozinku koju ste upisali početkom kreiranja.
Ovde ću koristiti korisnika TEST, a vi možete odmah dodati svog usera pod drugim imenom.
Ukoliko radite ovo sve na remote serveru , a da ste pritom promenili ime localhost u neko drugo ime, nemojte zaboraviti da umesto localhost upišeete to ime.
Kao naprimer ovde ‘test’@’localhost’ zamenite ovako ‘test’@’vase_ime_hosta’
Kad ste pristupili MySQL serveru, kreiramo korisnika i novu lozinku za korisnika.
$ MariaDB [(none)]> create user 'test'@'localhost' identified by 'unisite_vasu_lozinku';
Zatim dodajte sve privilegije tek kreiranom korisniku sledećom komandom
$ MariaDB [(none)]> grant all privileges on *.* to 'test’@’localhost’ ;
$ MariaDB [(none)]> flush privileges;
Više o flush privileges komandi možete videti ovde
Sada se vratite na vaš omiljeni browser i probajte da se logujete sa novim korisničkim imenom i novom lozinkom na phpmyadmin
http://localhost/phpmyadmin
Ukoliko koristite remote server, umesto localhost upisujete ime domena, odnosno IP adresu vašeg server.
Ako ste na lokalnom računaru, ostaje localhost.
Unesite username i lozinku
I sad ćete videti kreiranu novu bazu podataka i ulogovani ste sa novim koriničkim imenom. Sada možete da uvozete novu bazu ili već neke druge operacije.
Ovde smo završili sa phpmyadmin.
Kreiranje direktorijuma za vaš novi sajt
Sada idemo da pravimo direktorijume gde će biti vaš sajt, kao iputanje do njega.
Putanje su veoma važne u ovom slučaju, jer ako napravite grešku u putanjama, vrtećete se u krug inećete uspeti da nađete rešenje, a ono je bukvalno ispred nosa.
Ovde ćete obratiti pažnju, jer ovo pišem pre svega za one koji hoće sami da nameste sve na remote serveru, ne na lokalnom računaru, jer se putanje razlikuju od lokalnog računara i remote servera.
Dakle, u ovom slučaju je najbitnija stvar da vaša putanja koja se nalazi u Document Root u apache fajlu , “gadja” vaš folder gde vam je sajt.
Ako ste sve ovo instalirali na Web Serveru, vaša default putanja će izgledati ovako
/var/www/html….
Ne mora nužno da bude dodato html, ali u većini slučajeva jeste.
Ako ste isto sve ovo uradili na lokalu , potrebno je da je izmenite I da ide ovako
/home/user_name/public_html
Prethodno ste rethodno kreirali nov folder pod imenom public_html.
Dakle, da ponovim
Ako ste se ulogoviali na vaš Web server, u putanju
/var/www/html/ime_sajta/public_html
Ulogujte se kroz terminal na vaš remote server
Sada ćemo da instaliramo direktorijume za vaš novi sajt, kao idruge potrebne foldere.
Obratite pažnju na kreiranje ovih foldera, jer ćete morati da dodate ove putanje u fajl koji se nalazi u apache2 serveru.
Dakle, ove putanje mora da vam budu tačne, možete ove kopirati, a možete i shodno vašim potrebama postaviti druge.
Naravno “primer.com” menjate imenom vašeg domena.
sudo mkdir -p /var/www/html/primer.com/public_html
sudo mkdir -p /var/www/html/primer.com/log
sudo mkdir -p /var/www/html/primer.com//backups
S obzirom da smo do sada kreirali direkotirjume sa sudo, oni sada pripadaju root korisniku.
Ukoliko želimo da neki sledeći korisnik, odnosno da korisnik ima priviligeije i permisije da menja direktorijume, izmenicemo to sledecom komandom.
$ sudo chown -R $USER:$USER /var/www/html/primer.com/public_html
$ sudo chmod -R 755 /var/www/html/primer.com/public_html
Ovu boldovanu komandu ćete pogledati na kraju texta, jer se razlikuje po različitim verzijama linuxa, a prilično je važna iz razloga, što ako naprimer budete imali wordpress sajt nećete biti u mogućnosti da uplodujete slike i plugine, ako vam ova podešavanja nisu podešena na korisnika, već samo na root.
Ali , na kraju će biti objašnjeno sve.
Kada smo kreirali ove direktorijume, sada je potrebno da podesimo apache server.
Kreiranje novog Virtuelnog host fajla
Apache dolazi sa virtulenim host fajlom po defaultu koji izgleda ovako.
$ nano /etc/apache2/sites-available/000-default.conf
Sada ukidamo po defaultu fajl i pravimo kopiju sa novim imenom, odnosno imenom vašeg domena.
Sledeća komanda izvršava kopiranje i kreiranje novog virutelnog host fajla
(zamenite ime primer.com.conf sa imenom vašeg domena)
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/primer.com.conf
Sada otvorite u editoru vaš novi fajl sledećom komadnom
$ sudo nano /etc/apache2/sites-available/primer.com.conf
Fajl bi trebalo da izgleda nešto slično ovom navedenom.
# domain: primer.com
# public: /var/www/html/primer.com/public_html/
<VirtualHost *:80>
# Admin email, Server Name (domain name), and any aliases
ServerAdmin [email protected]
ServerName primer.com
ServerAlias www.primer.com
# Index file and Document Root (where the public files are located)
DirectoryIndex index.html index.php
DocumentRoot /var/www/html/primer.com/public_html
# Log file locations
LogLevel warn
ErrorLog /var/www/html/primer.com/log/error.log
CustomLog /var/www/html/primer.com/log/access.log combined
</VirtualHost>
U ovom slučaju ukoliko ste podesili sve do sada kako sam pisao, samo zemenite primer.com sa vašim domenom ifajl će biti podešen sa svim putanjama.
Ukoliko niste, OBAVEZNO OBRATITE PAŽNJU NA PUTANJE KAO ŠTO SU NAVEDENE i zamenite vašim, jer putem ovih putanja apache komunicara sa vašim direktorijumima koje smo napravili za vaš novi sajt .
/var/www/html/primer.com/public_html
Omogućavanje rada virtuelnog host fajla
Sledećom komandom omogućujemo rad novog virtuelnog hosting fajla.
$ sudo a2ensite primer.com.conf
Ovako treba da izgleda Output komande
Output
Enabling site primer.com.
To activate the new configuration, you need to run:
service apache2 reload
Dakle, potrebno je restartovati apache server, to možete I ovom komanodm
$ sudo systemctl restart apache2
Sada je vaš novi virtuelni hosting fajl aktivan.
Onemogućavanje rada hosting fajla koji je po defaultu.
Sada ćemo ugasiti apache fajl koji je po defaultu.
To je onaj fajl koji smo maločas kopirali ikoji vam više nije poteban za rad, jer ste kreirali novi.
$ sudo a2dissite 000-default.conf
Restartujte ponovo apache2
$ sudo systemctl restart apache2
Bravo. Završili ste podešavanje.
Postavljanje hostname na lokalni računar i testiranje
Ovo radite na svom računaru, ali ne na Web serveru.
Ukoliko testirate na lokalu.
Sledećom komandom otvorite vaš hosting fajl idodajte IP adresu vašeg Web servera, odnosno IP adresu
$ nano /etc/hostname
Unesiste sledeće paramtere u fajl. Domen, kao i IP adresu.
127.0.0.1 localhost
…
111.111.111.111 primer.com
Sačuvajte i zatvorite vaš fajl komandom CTRL + x
Enter
Sada posetite vaš sajt ili putem domena ili IP adrese, ako radite na lokalu, kucajte u vaš omiljeni browser localhost/index.html
Permisije
Kao što sam gore naveo da možete imati problem sa permisijama, obavezno odradite ovu komandu kako biste izmenili permisije za sve direktorijume u vašem public_html.
Ukoliko vam vaš wordpress sajt, izbaci nešto poput ove poruke ispod, sigurno su vam permisije problem.
“Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.”
Uradite sledeću komandu
$ chown -R www-data:www-data /var/www/html/primer.com/public_html
$ ls -lart /var/www
Komanda ls -lart /var/www će vam izlistati sve foldere i videćete kakve su vam permisije i da li je sve u redu. Možete na ovom videu pogledati kako se radi.
Ukoliko vam je sve podešeno, čestitam vam na instalaciji LAMP i podešavanju servera.
To je za sada sve, a u sledećem blogu pišem kako da podesite vaš SSL sertifikat i obezbedite sajt.
Ukoliko imate neka pitanja slobodno komentarišite i delite.
Izvor: M.L
Napišite komentar