Optimizirali smo PHP/MariaDB server, i, naravno, potrebna nam je read-write konfiguracija servera, omogućujući uređivanje datoteka s našeg standardnog korisničkog računa.

Iako je PHP development server koristan, nije potpuno identičan serveru na kojem će naš projekt biti implementiran. Na primjer, mogu se javiti problemi prilikom instalacije WordPress projekta. Specifično, mogu nastati poteškoće s HTTP zahtjevima, što može rezultirati u beskonačnoj petlji u kojoj se server nalazi.

Odredišni direktorij

Primjerice, već posjedujemo /srv direktorij, stoga ćemo ga iskoristiti za naše projekte. Odabiremo public direktorij jer neki razvojni okviri preporučuju upotrebu public direktorija za smještaj projektnih datoteka.

sudo mkdir /srv/webroot/
sudo mkdir /srv/webroot/public/
sudo mkdir /srv/phpmyadmin
sudo chgrp www-data /srv/webroot/public/
sudo chmod g+rwxs /srv/webroot/public/
sudo chgrp www-data /srv/webroot/
sudo chmod g+rwxs /srv/webroot/
sudo chgrp www-data /srv/phpmyadmin/
sudo chmod g+rwxs /srv/phpmyadmin/

Grupa

“www-data” je grupa u kojoj se čuvaju podaci Apache poslužitelja. Stoga, dodajmo korisnika u tu grupu kako bismo ostvarili pristup za čitanje i pisanje.

sudo usermod -a -G www-data korisnik

default.conf

Pravimo backup “000-default.conf” datoteke

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.backup

A u originalnu datoteku unosimo izmijene:

# /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        # DocumentRoot /home/korisnik/Servers/webroot/public
        DocumentRoot /srv/webroot/public/       

    <Directory /srv/webroot/public>
        Options Indexes FollowSymLinks
        # AllowOverride None
        AllowOverride All #enable routes
        Require all granted
    </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:8080>
        ServerAdmin webmaster@localhost
        DocumentRoot /srv/phpmyadmin     

    <Directory /srv/phpmyadmin>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
    </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Dodajte 8080 u ‘/etc/apache2/ports.conf’:

/etc/apache2/ports.conf

Reboot

Nakon ovoga svega potrebno je restartati računalo.

Logs

Da bi mogli čitati server log datoteke potrebno je instalirati Glogg GUI aplikaciju:

sudo apt-get install glogg

Log datoteke se nalaze u direktoriju:

/var/log/apache2/

Također je potrebno dodati korisnika u adm grupu (samo za Debian bazirane sustave):

sudo usermod -a -G adm your_username

Dodano: Ne mogu editirati datoteke iz PHP-a:

sudo nano /etc/apache2/envvars

Dodajte sebe kao apache korisnika:

# export APACHE_RUN_USER=www-data
export APACHE_RUN_USER=your_username

…i restart servera:

sudo systemctl restart apache2