Een instructievideo en script voor het opzetten van een local LAMP omgeving. Je kan zo makkelijk en zonder restricties werken aan je projecten op je PC. Ik gebruik hiervoor Fedora maar de opzet is ook makkelijk te gebruiken op andere Linux distributies.
Ik ga ervan uit dat je al enige (of veel) ervaring hebt met Linux. Maar ook voor een beginner is dit makkelijk de realiseren als je maar nauwkeurig onderstaande handleiding volgt. En vergeet vooral niet de video te bekijken voor de uitleg. Ik hoop dat je er je voordeel mee kan doen.
De stappen die we moeten nemen:
#Install LAMP
$ sudo dnf install httpd mariadb mariadb-server php php-cli php-php-gettext php-mbstring php-mcrypt php-mysqlnd php-pear php-curl php-gd php-xml php-bcmath php-zip phpmyadmin
#Check hostname
$ hostname
#Create a hostname
$ hostnamectl set-hostname yourhostname
#Increasing the amount of inotify watchers
## READ MORE: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
#Maak de folder waarin we de apps gaan ontwikkelen
$ mkdir ~/Sites
#Maak een symbolic link van de Apache web directory naar onze sites folder
$ sudo ln -s ~/Sites /var/www/html
#Zorgt ervoor dat SELinux deze files/directories rechten geeft aan Apache
$ sudo chcon -R unconfined_u:object_r:httpd_sys_rw_content_t:s0 ~/Sites
#Verander de "User apache" string in de config file naar "User" (de username van de huidige gebruiker).
##Voor een development PC is het handiger om Apache als huidige user te gebruiken om permissie problemen te omzeilen.
$ sudo sed -i "s/User apache/User marc/g" /etc/httpd/conf/httpd.conf
#Edit config file. Belangrijk om alles goed te laten werken.
## Verander user naar huidige user: user =$USERNAME (was apache)
### Voeg huididge gebruiker toe aan listen.acl_users: listen.acl_users = apache,nginx,$USERNAME
$ sudo nano /etc/php-fpm.d/www.conf
- Hierna moeten we php-fpm herstarten:
$ systemctl restart php-fpm.service
#Configureren mariadb
$ sudo systemctl start mariadb.service
$ sudo mysql_secure_installation
Nu werkt alles
#Toevoegen virtual host configuratie onderaan de file /etc/httpd/conf/httpd.conf:
<VirtualHost *:80>
DocumentRoot /var/www/html/Sites/foldername
ServerName kiesurlnaam
# Other Apache config directives, logs etc.
ErrorLog logs/NAAM.com-error_log
CustomLog logs/NAAM.com-access_log common
</VirtualHost>
# Add virtual hostnames to the bottom of /etc/hosts :
$ 127.0.0.1 NAME NAME2 etc
# Check of alles goed geconfigureerd is
$ sudo httpd -S
#Restart altijd server als je in bovenstaande files wijzigingen hebt aangebracht
$ systemctl restart httpd.service
Succes, je kunt nu aan de slag!
Extra:
# Als je app toegang moet hebben naar internet (updaten CMS bijv.) kan je onderstaande command gebruiken.
$ sudo setsebool -P httpd_can_network_connect 1