Zoeken op website

LAMP installeren (Linux, Apache, MySQL, PHP en PhpMyAdmin) in Gentoo Linux


De maximale prestaties die worden bereikt door het compileren van software uit bronnen met Gentoo hebben een minimale impact, als we de huidige hardware-krachtverwerking als referentie nemen. Wat is dan het doel van het gebruik van Gentoo als een webserverplatform, vraag je je misschien af? Welnu, het belangrijkste kenmerk dat Gentoo heeft is de extreme flexibiliteit die Portage kan leveren bij specifieke taken en de volledige controle die de eindgebruiker over het hele systeem kan krijgen, dankzij het feit dat Gentoo het gecompileerd en gebouwd vanuit bronnen en maakt geen gebruik van voorverpakte binaire bestanden zoals de meeste Linux-distributies.

Deze handleiding biedt een stapsgewijze installatieprocedure voor de beroemde LAMP-stack (Linux, Apache, MySQL en PHP/PhpMyAdmin) met behulp van een minimale Gentoo-installatieomgeving.

Vereisten

  1. Minimale Gentoo Linux-omgeving geïnstalleerd zoals in deze tutorial (Installeer Gentoo Linux)

Stap 1: Configureer een statisch IP-adres

1. Voordat we doorgaan met het installeren van de LAMP-stack, moet het systeem worden geconfigureerd met een statisch IP-adres, wat een “must” is in het geval van een server. Maar voordat we beginnen met het configureren van de statische netwerkinstellingen, gebruikt u de opdracht ifconfig om de namen van netwerkinterfacekaarten weer te geven.

ifconfig -a

Zoals je kunt zien kan de naam van de NIC verschillen van andere veelgebruikte namen die in Linux worden gebruikt, zoals ethX, ensXX of andere. Noteer deze naam dus voor verdere instellingen.

2. Als u eerder een DHCP-server voor uw netwerk gebruikte, zorg er dan voor dat u DHCP Client op uw systeem afbreekt en uitschakelt met behulp van de volgende opdrachten (vervang IP's en apparaten door uw instellingen).

rc-update del dhcpcd default
/etc/init.d/dhcpcd stop
ifconfig eno16777736 down
ifconfig eno16777736 del 192.168.1.13 netmask 255.255.255.0
emerge –unmerge dhcpcd

3. Maak vervolgens een symbolische link vanaf het netwerkloopback-apparaat met de naam van de aangesloten interface van uw NIC en maak een statisch configuratiebestand voor dit apparaat in /etc/conf.d/ pad.

ln -s /etc/init.d/net.lo  /etc/init.d/net.eno16777736
sudo nano /etc/conf.d/net.eno16777736

Bewerk dit apparaatbestand met de volgende configuraties.

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Nadat u klaar bent met het bewerken van de statische configuraties van de NIC, start u Network Interface en controleert u de netwerkinstellingen en verbinding met de opdrachten ifconfig en ping en controleert u of alles succesvol is geconfigureerd voeg het toe aan het opstartproces.

/etc/init.d/net.eno16777736 start
ifconfig
ping -c2 domain.tld
rc-update add net.eno16777736 default

Als u wilt dat DNS-naamservers voor het hele systeem worden geconfigureerd, bewerkt u het bestand /etc/resolv.conf en voegt u een naamserverreeks toe voor elk DNS IP-adres.

Stap 2: Installeer LAMP

5. Nadat u klaar bent met de netwerkinstellingen, gaat u verder met het installeren van de LAMP-stack, maar niet voordat u Gentoo-profielen heeft geverifieerd en de Portage-boom en het systeem heeft bijgewerkt.

Voor een op internet gerichte server met beveiligingspatches wilt u waarschijnlijk een verhard profiel gebruiken dat de pakketinstellingen voor uw hele systeem wijzigt (maskers, USE-vlaggen, enz.). Gebruik de volgende opdrachten om uw profiel weer te geven en te wijzigen.

sudo eselect profile list
sudo eselect profile set 11

6. Nadat het meest geschikte profiel voor u is ingesteld, updatet u uw systeem en de Portage-boom.

sudo emerge --sync
sudo emerge --update @world

7. Nu is het tijd om verder te gaan met de LAMP-installatie. Controleer de Apache Web Server-documentatie voor USE-vlaggen met behulp van de opdrachtschakelaar emerge –pv en bewerk vervolgens het Portage make.conf-bestand met de vereiste USE-vlaggen voordat u probeert installeer het.

emerge -pv apache
nano /etc/portage/make.conf

8. Kies uw USE-vlaggen voor het compileerproces (u kunt het laten zoals het is als uw server bepaalde modules niet nodig heeft) en installeer vervolgens Apache met behulp van de volgende opdracht.

emerge --ask www-servers/apache

9. Voordat u de Apache-service start, voert u de volgende opdracht uit om de ServerName-fout te voorkomen, en start u vervolgens de httpd-daemon.

echo “ServerName localhost” >> /etc/apache2/httpd.conf

service apache2  start

OR

/etc/init.d/apache2 start

10. Installeer bij de volgende stap de dynamische scripttaal PHP. Vanwege de rijkdom aan PHP-modules zal deze tutorial u een grote lijst met modules presenteren die wordt gebruikt als USE-vlaggen, maar u moet zich houden aan de vlaggen die uw serverconfiguratie vereist.

Haal eerst USE specifieke vlaggen voor PHP op met behulp van de onderstaande opdracht.

emerge -pv php

11. Bewerk vervolgens het /etc/portage/make.conf bestand en gebruik de volgende USE vlaggen voor PHP5.5 > (USE-vlaggen moeten op één regel staan).

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php5-5"

Een andere methode die u kunt gebruiken is door USE-vlaggen te echoën om de gewenste PHP-modules en opties op te nemen in het /etc/portage/package.use-bestand.

echo “dev-lang/php apache2 cgi ctype curl curlwrappers -doc exif fastbuild filter ftp hash inifile json mysql mysqli pdo pic posix sockets spell truetype xml zip” >> /etc/portage/package.use

12. Nadat u de vereiste USE-vlaggen hebt geselecteerd met behulp van een van de twee gepresenteerde methoden, installeert u PHP met de volgende opdracht.

emerge --ask dev-lang/php

13. Het opkomende PHP-proces kan enige tijd duren, afhankelijk van uw systeembronnen. Nadat het is voltooid, vertelt u Apache om PHP-modules te gebruiken door het bestand /etc/conf.d/apache2 te bewerken en voeg PHP5 toe aan de APACHE2_OPTS richtlijn.

nano /etc/conf.d/apache2

Laat de APACHE2_OPTS-regel er zo uitzien.

APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D LANGUAGE -D PHP5"

Gebruik de volgende opdracht om een lijst met geïnstalleerde modules te krijgen.

ls -al /etc/apache2/modules.d/

14. Om de serverconfiguratie tot nu toe te testen, maakt u een phpinfo-bestand in de hoofdmap van localhost (/var/www/localhost/htdocs/) en start de Apache-service opnieuw en wijs uw browser vervolgens naar http://localhost/info.php of http://system_IP/info.php.


echo "<!--?php phpinfo(); ?-->"  /var/www/localhost/htdocs/info.php
service apache2  restart

OR

/etc/init.d/apache2  restart

Als u hetzelfde resultaat krijgt als de afbeelding hierboven, is uw server correct geconfigureerd. We kunnen dus verder gaan met de MySQL-database en PhpMyAdmin-installatie.

15. Voordat u de MySQL-database installeert, verifieert u het pakket GEBRUIK vlaggen en bewerkt u Portage make.conf indien nodig. Gebruik de volgende opdrachten om de MySQL-serverdatabase te verifiëren en te installeren.

emerge -pv mysql
emerge --ask dev-db/mysql

16. Voordat u de MySQL-server start, moet u ervoor zorgen dat de MySQL-database op uw systeem is geïnstalleerd met behulp van de volgende opdracht.

/usr/bin/mysql_install_db

17. Start nu de MySQL-database en beveilig deze met mysql_secure_installation door het root-wachtwoord te wijzigen, root-login buiten localhost uit te schakelen, de anonieme gebruiker te verwijderen en de database te testen.

service mysql start
mysql_secure_installation

18. Om de databasefunctionaliteit te testen, logt u in op MySQL door de onderstaande opdracht uit te voeren en sluit u de database af met de quit-instructie.

mysql -u roo -p
mysql> select user,host from mysql.user;
mysql> quit;

19. Als je een grafische interface nodig hebt om de MySQL-server te beheren, installeer dan het PhpMyAdmin-pakket door deze opdrachten uit te voeren.

emerge -pv phpmyadmin
emerge  dev-db/phpmyadmin

20. Nadat het pakket is gecompileerd en geïnstalleerd, maakt u een configuratiebestand voor PhpMyAdmin door het sjabloonbestand te kopiëren en vervangt u de blowfish_secret wachtwoordzin door een willekeurige reeks.

cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php  /var/www/localhost/htdocs/phpmyadmin/config.inc.php
nano /var/www/localhost/htdocs/phpmyadmin/config.inc.php

21. Test het aanmeldingsproces van PhpMyAdmin door een browser te openen en de volgende URL te gebruiken.

http://localhost/phpmyadmin

22. Als alles in orde is, wilt u wellicht uw services automatisch starten na het opnieuw opstarten door ze systeembreed beschikbaar te maken met behulp van de volgende opdrachten.

rc-update -v add apache2 default
rc-update -v add mysql default

Dat is alles! Nu heb je een dynamische webomgeving met Apache, PHP-scripttaal en relationele MySQL-database op een zeer flexibel en aanpasbaar serverplatform geleverd door Gentoo.