Lamp debian installeren en configureren. Apache en php installeren op Debian

Het eerste deel van dit verhaal bevatte een van de mogelijke opties instellingen van de grafische interface van Debian voor handig en vertrouwd (uitsluitend subjectief gezichtspunt van de auteur) gebruik door iemand die vanuit Windows naar Linux is gekomen. En als ik voor het opzetten van een virtuele machine met Debian alleen het hostsysteem gebruikte, dan werkte ik specifiek alleen in deze virtuele machine, zoekend naar informatie op internet, aantekeningen maken in Notepadqq of gedit, naar muziek luisteren via Audacious, bestanden openen via LibreOffice en dergelijke. Op deze manier kunt u eraan wennen en een veel dieper gevoel en waardering krijgen voor het werken met het besturingssysteem en zijn omgeving, die in het standaardpakket van Debian behoorlijk compleet en functioneel is.

Op dit moment is ons systeem zo geconfigureerd dat je in de toekomst de opdrachtregel alleen kunt gebruiken met een consoleteksteditor, bijvoorbeeld nano of gebruik bestandsbeheerder Dubbele commandant met geïntegreerde Notepadqq-editor. Het is ook mogelijk om deze twee methoden te combineren, bijvoorbeeld door door het systeem te navigeren en configuratiebestanden te bewerken via bestandsbeheer, en alle andere opdrachten via de console. Alle methoden zijn gelijkwaardig om het eindresultaat te bereiken.

Het huidige doel is om een ​​server te creëren, en daar zal dit deel aan gewijd worden. De server kan worden geconfigureerd met of zonder installatie en met behulp van een grafische interface. In het tweede geval kunt u uit het vorige deel eenvoudigweg de secties over de installatie en configuratie van software voor de grafische interface en de configuratie ervan, de installatie van grafische softwarepakketten en VMware-tools overslaan.

Ik zie niets mis met het gebruik van een grafische interface bij het maken van een server: als het voor iemand vertrouwder, handiger en comfortabeler is om zijn eerste of tweede server met een grafische omgeving te maken, waarom niet? Mijn GUI-webserver heeft het immers een jaar volgehouden en zal net zo lang meegaan als nodig is. Er zijn echter enkele dingen waarmee u rekening moet houden.

Idealiter zou een eenmaal geconfigureerd systeem heel lang zonder onze tussenkomst moeten werken. Mijn “schone” server was in twee dagen opgezet en heeft bijna een jaar zonder tussenkomst gewerkt. Dit betekent dat de grafische interface 0,05% van de tijd werd gebruikt dat de server actief was (de computer werkt maar een halve dag) en tegelijkertijd bronnen in beslag nam: RAM, schijfruimte, CPU-tijd. Het is beter om al deze bronnen te gebruiken om de werking van de server zelf te garanderen: verhoog bijvoorbeeld de memory_limit voor PHP of plaats meer gebruikersgegevens op de harde schijf. Bovendien is het bij problemen en storingen bij het werken met een echte externe server vaak veel eenvoudiger om SSH-toegang te gebruiken. In deze context is de aanwezigheid van een grafische interface ongewenst en daarom was de tweede server in mijn netwerk al een virtuele machine zonder grafische omgeving, waarop alleen grafische software was geïnstalleerd Middernacht commandant, waarmee ik door het bestandssysteem navigeerde en instellingenbestanden bewerkte via de mcedit-editor. Daarom hieronder universele instructies: opdrachten worden gegeven met de nadruk op het gebruik van de opdrachtregel, maar er wordt aangenomen dat de gebruiker de allereerste keer een machine instelt met een grafische omgeving. Daarom wordt de browser daarvoor gebruikt lokale cheque toegankelijkheid van gemaakte sites en enkele functies van het opzetten van een e-mailprogramma.

Tijdens het maken van een server en bij het toevoegen van nieuwe sites eraan, heb ik er een aantal verzameld achtergrondinformatie, wat handig kan zijn voor een beginnende gebruiker. Ik presenteerde het na het materiaal over het installeren en configureren van de server.

Opmerking
Bij verder lezen in constructies als http:// 127.0.0.1 (https:// 127.0.0.1) moet de spatie na http:// (https://) worden verwijderd wanneer deze in de adresbalk van de browser wordt ingevoerd. Bij het publiceren van dit artikel is een spatie ingevoegd om te voorkomen dat de site-engine tekst automatisch omzet in links.

Apache2-webserver installeren:

# apt-get install apache2 apache2-doc

En dat is alles. Zo'n twintig megabyte en de webserver is al geïnstalleerd. Opnieuw opstarten of instellingen zijn niet nodig: de server kan al HTML-pagina's openen. Een moderne website op internet is echter niet alleen een verzameling statische bestanden, stijlen, lettertypen en andere soortgelijke zaken zoals twintig jaar geleden. Een moderne website bevat scripts die in PHP zijn geschreven, en dynamische informatie (bijvoorbeeld tekstinhoud, opmerkingen, gebruikersprofielen) wordt niet in bestanden naast PHP-bestanden geschreven, maar in een speciale SQL-database. Voor een volwaardige server is het noodzakelijk om ondersteuning voor deze technologieën te bieden. Bovendien is het niet moeilijk:

# apt-get installeer mysql-server mysql-client phpmyadmin
# apt-get installeer php5 php5-mysql libapache2-mod-php5

Tijdens het MySQL-installatieproces wordt u gevraagd om het mysql-superuser-wachtwoord in te stellen en moet u de apache2-server selecteren om het werken met mysql automatisch te configureren. Bij het installeren van het phpmyadmin-pakket ging ik akkoord automatisch afstemmen package en voer overal het mysql-superuser-wachtwoord in. PHP-installatie vindt plaats zonder enige prompt.

Ik heb het snellere PHP7 of de gratis MariaDB niet gebruikt als alternatieve open source-vervanger voor SQL en besloot mijn server op de “canonieke” LAMP = Linux + Apache + MySQL + PHP te bouwen, met behulp van oude en beproefde oplossingen, in geval van problemen waarmee ik snel en gemakkelijk informatie op internet kon vinden.

Drie teams (die eigenlijk tot één gecombineerd kunnen worden) en we hebben lokaal een volwaardige en moderne server geïnstalleerd. Het is heel eenvoudig!

Maar het opzetten van een server kost veel meer tijd dan het installeren van de componenten ervan. Aanvankelijk wilde ik in dit deel mijn typische fouten laten zien, valse manieren om problemen op te lossen en de resultaten waartoe ze leidden, maar het bleek dat in de loop van het jaar veel uit mijn geheugen werd gewist, veel moest worden gewist. hersteld uit aantekeningen, dus hieronder alleen werkinstructies met kleine opmerkingen, waardoor u een universeel werkresultaat kunt bereiken.

Een Apache2-webserver opzetten

Eerst moet u ervoor zorgen dat de webserver actief is. Om dit te doen, moet u uw browser openen en het adres http:// 127.0.0.1 (localhost) typen. Een webpagina zou moeten openen met een geruststellende inscriptie: “Apache2 Debian Default Page. Het werkt!" De server werkt echt. Als u een set sitebestanden uit 2000 heeft, kunt u deze in de map /var/www/html plaatsen en deze zal waarschijnlijk op onze server worden geopend.

Alle basiswebserverinstellingen worden opgeslagen in /etc/apache2. Als u deze map opent, ziet u het hoofdconfiguratiebestand apache2.conf en de mappen conf-available, mod-available en sites-available. Deze mappen bevatten vooraf geconfigureerde bestanden met instellingen (zogenaamde fragmenten), die u eenvoudig standaard kunt gebruiken, met uw eigen bewerkingen, of ze kunt gebruiken als sjabloon voor het maken van uw eigen configuraties. In de map die beschikbaar is voor sites bevindt zich bijvoorbeeld een standaard hostconfiguratiebestand 000-default.conf. Als je het opent en bestudeert, blijkt dat dit bestand het pad specificeert waar onze website opent op http://127.0.0.1: “DocumentRoot /var/www/html”. Bovendien is de regel “ "betekent dat als ik mijn machine vrijgeef op het lokale netwerk en er toegang toe krijg via poort 80 (de poort voor HTTP), de site langs het pad /var/www/html voor mij wordt geopend. Hoe kun je hier zeker van zijn?

Eerst moet u het IP-adres achterhalen dat aan de virtuele machine is toegewezen nadat deze is opgestart. Om de configuratie te bekijken netwerkadapters laten we doen:

# ifconfig

In de informatie-uitvoer naar de console is eenvoudig vast te stellen dat het volgende adres is ingesteld voor de eth0-adapter:

Inet-adres:192.168.233.138

Nu open ik op de hostmachine het adres http://192.168.233.138 in de browser en verwacht dat een bekende pagina wordt geopend. Maar... hij gaat niet open. Na een tijdje zegt mijn browser: "Er is een time-out voor de verbinding opgetreden." En hij schrijft correct. In het eerste deel heb ik immers de firewall aangezet, maar poort 80 niet geopend! Laten we dit oplossen:

#ufw staat 80 toe

We proberen opnieuw het adres http://192.168.233.138 te openen en ervoor te zorgen dat de verwachte pagina wordt geopend. De virtuele host in de virtuele machine werd buiten al deze virtualisatie geopend. We hebben een kleine stap gezet in het bouwen van ons eigen kleine virtuele internet.

Naast de -available mappen zijn er ook -enabled mappen, die bevatten wat momenteel “enabled” is. Als u ze bekijkt, zult u zien dat deze mappen koppelingen bevatten naar bestanden in de -available mappen. Er is momenteel slechts één link in de map met sites ingeschakeld: naar het bestand /etc/apache2/sites-available/000-default.conf. Dit is erg handig - met snelkoppelingen kunnen we hosts in- of uitschakelen zonder hun configuratiebestanden te bewerken. Bovendien is de bron van de configuratie één bestand, ongeacht of deze configuratie nu is ingeschakeld of niet, en dit voorkomt fouten wanneer in het ene bestand iets wordt gecorrigeerd, maar in een ander bestand wordt vergeten. Om onze host uit te schakelen, moet u de vereiste snelkoppeling verwijderen en om deze in te schakelen, moet u deze aanmaken. Om niet handmatig snelkoppelingen te verwijderen of te maken, is het eenvoudiger en betrouwbaarder om speciale hulpprogramma's te gebruiken.

Schakel de virtuele host uit:

# a2dissite 000-standaard

Schakel de virtuele host in:

# a2enssite 000-standaard

Na elke wijziging moet u de hostconfiguraties opnieuw laden of de server opnieuw opstarten:

# service apache2 herladen

# service apache2 opnieuw opstarten

Nu hebben we dus een basiskennis van het configureren van reguliere hosts in apache, en vervolgens zal ik een voorbeeld laten zien van hoe ik mijn server heb geconfigureerd om te werken met behulp van de HTTP- en HTTPS-protocollen.

We moeten beginnen met het feit dat wanneer u de virtuele host met de standaardwaarde 000 uitschakelt, er als zodanig geen afsluiting plaatsvindt. Dat wil zeggen dat de site zowel binnen als buiten de virtuele machine wordt geopend en wordt geopend ongeacht of de configuratie zich in de map met sites bevindt. Het was onverwacht en ik heb er relatief lang over gedaan om te begrijpen of ik alles goed deed of begreep. Ik ben er nog niet helemaal achter, blijkbaar komt dit door het feit dat het pad /var/www/html globaal is ingesteld als de standaardmap voor DocumentRoot. Omdat ik niet wilde dat er iets onnodigs in opgenomen en toegankelijk zou zijn, besloot ik de html-map zelf te verwijderen en standaard de toegang tot alle geneste /var/www te weigeren.

Om de standaard virtuele host te configureren, heb ik het configuratiebestand bewerkt:

De inhoud van het configuratiebestand werd als volgt:

Servernaam localhost Serverbeheerder gebruiker@localhost DocumentRoot /var/www ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access.log gecombineerd
Met deze configuratie heb ik de standaardmap opnieuw ingesteld op /var/www, heb ik de server toegestaan ​​symbolische links in deze map te volgen, heb ik de server toegestaan ​​alle richtlijnen uit te voeren die in de gevonden .htaccess-bestanden zijn aangegeven, en heb ik de toegang tot deze map geweigerd. De logica van deze acties is dat ik de toegang tot deze map kan controleren zonder toegang te krijgen tot de webserverinstellingen en zonder deze opnieuw op te starten. Nu moeten we deze oplossing testen.
Breng het bestand over:

# mv /var/www/html/index.html /var/www/index.html

En verwijder de map:

# rm /var/www/html

Start de server opnieuw op zodat de nieuwe standaard virtuele hostinstellingen van kracht worden:

# service apache2 opnieuw opstarten

Maak een bestand:

# nano /var/www/.htaccess

Waarin we één regel schrijven (zonder aanhalingstekens): “Vereist alles verleend.”

Laten we het samenvatten. Nu is er geen pad /var/www/html, maar de host is standaard opnieuw geconfigureerd naar het pad /var/www, waar het index.html-bestand zich bevindt, en standaard, op webserverniveau, toegang tot deze map wordt geweigerd, maar de inhoud is lokaal toegestaan ​​in het .htaccess-bestand dat zich daar bevindt.

We openen http://127.0.0.1 in de browser en zien de al bekende pagina “Apache2 Debian Default Page. Het werkt. Laten we nu de functionaliteit van de "lokale" toegangscontrole controleren:
Verwijder het .htaccess-bestand:

# rm /var/www/.htaccess

En update in de browser geopende pagina- er zou een pagina moeten openen met een melding over toegangsbeperkingen (Verboden). Ja, het werkt allemaal, het betekent dat alles correct is gedaan.

In principe zijn deze eenvoudige instellingen voldoende voor een verdere probleemloze werking van de webserver. Maar dit leek mij niet genoeg. Momenteel kan onze webserver alleen werken via het HTTP-protocol. Maar hoe zit het met het HTTPS-protocol? Als we in de toekomst op basis van deze webserver projecten op internet lanceren, dan is de mogelijkheid om met dit protocol te werken op zijn minst wenselijk. En ik besloot HTTPS-ondersteuning te organiseren op basis van het maken van een zelfondertekend SSL-certificaat.

Eerst moet u een SSL-certificaat verkrijgen, dat op onze server wordt geïnstalleerd. We hebben geen domein en in wezen hebben we ook geen statisch IP-adres. Maar dit alles doet er niet toe, omdat ik het certificaat zelf zal genereren met behulp van de tools van mijn systeem.

Aandacht! Bij de onderstaande instructies wordt ervan uitgegaan dat de server op een “naamloze” machine is geïnstalleerd. Als er een echt IP-adres is of domeinnaam, dan moeten ze op DRIE plaatsen worden aangegeven: ; ; - vervang in de overeenkomstige constructies IP/Domein door een IP-adres of domeinnaam. In de onderstaande tekst wordt localhost gebruikt in plaats van IP/Domain.

Laten we een SSL-certificaat genereren:

# openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

Met deze opdracht wordt onmiddellijk voor 10 jaar een zelfondertekend certificaat van de X.509-standaard aangemaakt, waarbij de optie om het certificaat met een wachtwoordzin te beschermen wordt overgeslagen - dit is nodig zodat wanneer de Apache-server start, deze het bestand kan lezen zonder tussenkomst van de gebruiker , aangezien u een wachtwoord heeft ingesteld, moet u dit na elke opstart- of herstartserver invoeren. Samen met het certificaat wordt er een nieuwe 2048-bit RSA-sleutel gemaakt, die wordt gebruikt om het certificaat te ondertekenen. De –keyout en –out opties specificeren de paden waar OpenSSL de sleutel en het certificaat moet genereren.

Tijdens het proces voor het aanmaken van het certificaat worden er vragen gesteld, waarbij ik de volgende informatie heb verstrekt:

Landnaam = MW
Naam staat of provincie = Zonnestelsel
Plaatsnaam = Maan
Organisatienaam = Hellium Inc.
Naam organisatie-eenheid = 2
Algemene naam = localhost
E-mailadres = gebruiker@localhost

Vervolgens moet u Diffie-Hellman-sleutels maken om PFS te ondersteunen:

# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Punten en plustekens verschijnen in de terminal en na het einde van de cartoon kunt u het bestand ssl-params.conf maken, waarin de SSL-parameters voor de server worden gedefinieerd:

# nano /etc/apache2/conf-available/ssl-params.conf

Voor een veilige, up-to-date installatie heb ik de code gebruikt die is gegenereerd in de SSL-configuratiegenerator op mozilla.github.io. In de generator heb ik de Apache2-server, het Modern-profiel geselecteerd en de server- en OpenSSL-versies correct ingesteld, die je kunt achterhalen met de volgende opdrachten:

# apache2 -v
# openssl-versie

Als resultaat kreeg ik de volgende tekst:

# 14-01-2018 / voor apache2 2.4.10 & openssl 1.0.1t # van https://mozilla.github.io/server-side-tls/ssl-config-generator/ # hulp bij parameters: https://raymii .org/s/tutorials/Strong_SSL_Security_On_Apache2.html # moderne configuratie, aanpassen aan uw behoeften SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE -ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384 :ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256 SSLHonorCipherOrder op SSLCompression uit # OCSP Stapling, alleen in httpd 2.3.3 en hoger SSLUseStapling op SSLStaplingResponderTimeout 5 SSLStaplingReturnResponderErrors uit SSLStaplingCache shmcb /var/run/ocsp(128 000)
Laten we nu een virtuele host met SSL-ondersteuning configureren:

Ik heb de tekst van dit bestand vertaald naar volgende weergave:

ServerAdmin-gebruiker@localhost Servernaam localhost DocumentRoot /var/www Opties FollowSymLinks ToestaanOverschrijven Alles Vereisen dat alles geweigerd wordt SSLOptions +StdEnvVars SSLOptions +StdEnvVars
Uit het bovenstaande volgt dat we ook /var/www hebben gedefinieerd als de DocumentRoot-map, waarvan de toegang op dezelfde manier is geconfigureerd als de vorige instellingen. Het HSTS-mechanisme is ingeschakeld, waardoor de verbinding via het HTTPS-protocol tot stand kan worden gebracht. Ondersteuning voor SSL is inbegrepen, waarbij het gebruikte certificaat en de sleutel worden aangegeven, en ondersteuning voor het verwerken van certificaatgegevens in PHP- en CGI-scripts is ook ingeschakeld. Het laatste gedeelte is ontworpen om compatibiliteit met eerdere versies van de browser te garanderen Internet Explorer en is in het algemeen niet nodig.

Laten we nu de laatste hand leggen.

Laten we de poort voor SSL openen:

#ufw staat 443 toe

Laten we apache-modules inschakelen om SSL en HSTS te ondersteunen:

# a2enmod ssl
# a2enmod-headers

Laten we SSL-configuratie inschakelen:

# a2enconf ssl-params

Laten we een virtuele host met SSL-ondersteuning inschakelen:

# a2ensite standaard-ssl

Laten we de server opnieuw opstarten om alle nieuwe instellingen te accepteren:

# service apache2 opnieuw opstarten

Nu komt een interessant moment: het testen van de functionaliteit van de nieuwe functionaliteit van het geconfigureerde systeem.

Maak een bestand:

# nano /var/www/.htaccess

Open https:// 127.0.0.1 in de browser. Er zou een pagina over een onbekend certificaat moeten openen, na acceptatie van deze (eenmalige of permanente toestemming) zal de reeds bekende pagina openen met een melding over de draaiende webserver.

Verwijder het .htaccess-bestand:

# rm /var/www/.htaccess

En we vernieuwen de geopende pagina in de browser - een pagina met een melding over toegangsbeperkingen (Verboden) zou moeten openen. Alles werkt correct. Nu zijn onze sites beschikbaar via zowel HTTP als HTTPS.

HTTP-toegang kan ingeschakeld of uitgeschakeld blijven of gedwongen worden om te leiden naar HTTPS.

Om HTTP-toegang in te schakelen hoeft u niets te doen, aangezien de server verzoeken voor poort 80 en 443 afzonderlijk verwerkt en onze site in de map /var/www zowel via HTTP als HTTPS wordt geopend.

Om HTTP-toegang uit te schakelen, schakelt u eenvoudigweg de bijbehorende virtuele host uit en start u de webserver opnieuw op:

# a2dissite 000-standaard
# service apache2 opnieuw opstarten

Als u nu http:// 127.0.0.1 in de browser opent, zou er een pagina moeten openen met een melding over de afwezigheid van een pagina (Niet gevonden).

De meest interessante derde optie. In dit geval blijft HTTP formeel ingeschakeld, maar wordt de gegevensverwerking gedwongen via HTTPS te worden omgeleid.

Om dit te doen, schakelt u eerst de omleidingsmodule in:

# a2enmod herschrijven

Laten we nu het bestand 000-default.conf openen:

# nano /etc/apache2/sites-available/000-default.conf

En voeg vóór de afsluitende tag de volgende tekst toe:

RewriteEngine Aan RewriteCond %(HTTPS) uit RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)
Laten we de server opnieuw opstarten:

# service apache2 opnieuw opstarten

Laten we een bestand maken:

# nano /var/www/.htaccess

Waarin we één regel schrijven: "Vereist alles verleend".

Als we nu het adres http://127.0.0.1 in de browser openen, worden we automatisch doorgestuurd naar https://127.0.0.1 met een waarschuwing over een onbekend certificaat (als dit niet eerder aan de lijst met uitzonderingen is toegevoegd in de browser), na acceptatie, zal de reeds bekende pagina openen met een melding over de actieve webserver.

SQL-instellingen

Voor initiële installatie mysql voer gewoon het volgende commando uit:

# mysql_secure_installation

Nadat ik het mysql-superuser-wachtwoord had ingevoerd, beantwoordde ik de gestelde vragen in de volgende volgorde:

  • weigerde het root-wachtwoord te wijzigen;
  • bevestigde verwijdering anonieme gebruikers uit de databank;
  • bevestigde blokkering van externe verbinding voor root (laat root om veiligheidsredenen alleen lokaal verbinding maken);
  • bevestigde de verwijdering van testdatabases;
  • akkoord gegaan met het herladen van de privilegetabellen.
Om de functionaliteit van mysql te controleren, kunt u de volgende opdracht uitvoeren:

# mysql -uroot -p

Na het invoeren van het mysql-superuser-wachtwoord zien we de mysql-prompt - wat betekent dat de service actief is. U kunt de mysql-terminal afsluiten door de opdracht “exit” in te voeren.

Om de functionaliteit van phpmyadmin te controleren, opent u het adres http://127.0.0.1/phpmyadmin in de browser. Als er een pagina wordt geopend met een uitnodiging om in te loggen bij phpmyadmin, dan is de dienst actief.

PHP-installatie

Nadat ik PHP had geïnstalleerd, opende ik het instellingenbestand:

# nano /etc/php5/apache2/php.ini

En ik heb enkele parameters naar het volgende formulier gebracht:

  • geheugen_limiet = 1024M
  • standaard_charset = "UTF-8"
  • upload_max_filesize = 256M
  • sendmail_path = /usr/bin/fake_sendmail.sh
Met behulp van de PHP-module kunt u datacaching in het geheugen verzorgen. Caching is handig wanneer hoge belasting naar de server voor gegevens waarvan het genereren een grote hoeveelheid bronnen vereist, bijvoorbeeld de resultaten van databasequery's of de verwerking van "zware" delen van een websitesjabloon. Ik heb de memcached-module gekozen als caching-server.

Geheugencache installeren:

# apt-get install memcached php5-memcached

Laten we eens kijken naar de serviceconfiguratie-instellingen:

# nano /etc/memcached.conf

In de instellingen heb ik de grootte van het geheugen dat voor caching wordt gebruikt vergroot: -m 64 -> -m 256. En ik heb de aanwezigheid van de bedieningsmodus alleen gecontroleerd in lokale zone: -l 127.0.0.1.

Start de caching-service en webserver opnieuw:

# service opgeslagen herstart
# service apache2 opnieuw opstarten

Nu moet u ervoor zorgen dat de service werkt. Om dit te doen, maakt u een bestand:

# nano /var/www/info.php

En voeg er de volgende tekst aan toe:


Vergeet niet de aanwezigheid van het .htaccess-bestand in de map /var/www te controleren met de juiste toestemmingsinhoud; als het er niet is, maak het dan aan.

Nu kunt u http://127.0.0.1/info.php in uw browser openen - er zou een pagina met informatie over PHP moeten openen, waarin u moet controleren op de aanwezigheid van de memcached-sectie. Als de tabel verschijnt, werkt PHP.

U kunt de actieve memcached-service als volgt controleren:

$ ps-aux | grep opgeslagen

De terminal zou een regel moeten retourneren met de opgeslagen instellingen.

Een e-mailstrook maken voor PHP

Bij PHP-instellingen Er is een shellscript opgegeven als de parameter sendmail_path. De functie van dit script is het opslaan van e-mails die via de standaardfunctie zijn verzonden php-mail(), op lokale machine, in een handige map, in plaats van ze ergens heen te sturen.

Laten we een bestand maken:

# nano /usr/bin/fake_semdmail.sh

Met de volgende inhoud:

#!/bin/sh prefix="/var/mail/sendmail/new" numPath="/var/mail/sendmail" if [ ! -f $numPath/num ]; echo dan "0" > $numPath/num fi num=`cat $numPath/num` num=$(($num + 1)) echo $num > $numPath/num name="$prefix/letter_$num.txt " while read line do echo $line >> $name done chmod 777 $name /bin/true
Laten we dit bestand uitvoerbaar maken:

# chmod +x /usr/bin/fake_semdmail.sh

Laten we de benodigde mappen maken die nodig kunnen zijn als u het verzamelen van brieven door uw e-mailprogramma instelt:

# mkdir /var/mail/sendmail /var/mail/sendmail/cur /var/mail/sendmail/new /var/mail/sendmail/tmp

En wijs rechten toe zodat de server bestanden in deze map kan schrijven:

# chmod 777 -R /var/mail/sendmail

Nu worden alle uitgaande e-mails opgeslagen in /var/mail/sendmail. Ze kunnen worden bekeken met een teksteditor, of ze kunnen worden verzameld met behulp van een e-mailprogramma. Debian-software wordt vooraf geïnstalleerd geleverd e-mailclient Evolutie. Bij het instellen van een account moet u “Mail directories in Maildir format” selecteren als het servertype en het pad naar de mail directory (/var/mail/sendmail) specificeren, en “Sendmail” specificeren als de server.

Alle. Over het algemeen zijn we klaar met de server: we hebben een universele virtuele machine op basis waarvan we onze eigen netwerkdiensten kunnen bouwen. Ik heb zowel HTTP als HTTPS-toegangen. Nadat u echter ervaring heeft opgedaan met het maken en configureren van een server en het toevoegen van sites (zie hieronder), raad ik u aan een nieuwe te maken virtuele machine met een server zonder grafische interface als optimaal in termen van resourceverbruik.

SSH-toegang instellen

Zonder toegang via SSH zou de server geen volwaardige server zijn. Met de zogenaamde “shell” kunt u snel en veilig verbinding maken naar een externe server Met behulp van bijvoorbeeld een klein programma genaamd putty krijgen we op de lokale computer directe toegang tot de terminal van de externe server.

Service-installatie:

# apt-get install ssh

Laten we de poort voor SSH openen (eigenlijk zou de standaardpoort nummer 22 moeten zijn, maar hieronder heb ik de poort in de SSH-configuratie overschreven):

#ufw toestaan ​​106

Om de toegang voor onze gebruiker te organiseren, moeten we het bestand openen:

# nano /etc/ssh/sshd_config

En voeg de richtlijn toe aan het einde van het bestand:


Daarnaast heb ik om veiligheidsredenen de volgende wijzigingen in dit bestand aangebracht:
  • poort gewijzigd van 22 naar een andere (lijst met poorten): Poort 22 -> Poort 106
  • heeft het oude protocol uitgeschakeld: Protocol 2.1 -> Protocol 2
  • gehandicapt toegang op afstand voor root: PermitRootLogin ja (of PermitRootLogin zonder wachtwoord) -> PermitRootLogin nee
Vervolgens starten we de service opnieuw:

# service sshd opnieuw opstarten

Nu kan ik rennen stopverf programma op de hostmachine en maak verbinding met uw server in consolemodus door het verbindingsadres 192.168.233.138, poort 106 en gebruikersnaam gebruiker in te voeren. Wanneer u verbinding maakt, moet u bevestigend antwoorden om de sleutels te accepteren en het gebruikerswachtwoord in te voeren. Als u als superuser opdrachten moet uitvoeren, kunt u het reeds bekende su-commando gebruiken.

Toegangsbeveiliging

Ik nam niet de moeite om de webserver te beschermen tegen DDoS, omdat ik aanvankelijk dacht dat als deze op een VPS/VDS werd gehost, hosting effectieve bescherming zou bieden, en als je ervoor zorgt dat je server "uitsteekt" ten opzichte van internet, dan moet dit probleem worden opgelost serieus worden aangepakt en dit is een apart artikel. Bescherming tegen Slow HTTP DDoS is relatief eenvoudig uit te voeren door talloze instructies op internet te volgen, maar het zal u niet redden van een gedistribueerde aanval die vanaf veel verschillende IP-adressen wordt uitgevoerd.

Bij DDoS stopt onze server gewoon een tijdje met werken. Maar na een aanval die niet eeuwig zal duren, wordt de server hersteld. Maar als iemand erin slaagt toegang te krijgen via SSH, gaat de controle over de server verloren en komen de gegevens erop in gevaar. Het controleren van de toegang tot de server via SSH is dus een goed idee.

Het eenvoudigste en meest banale wat je kunt doen is de standaardpoort wijzigen, wat we toen ook deden SSH instellen. Ongeveer vijf jaar geleden heb ik zojuist “geëxposeerd” gemaakt deze server naar internet met behulp van een onlangs ontvangen echt IP-adres en was verrast dat tijdens de week van het bestaan ​​van de server, waarvan nog niemand iets wist, de systeemlogboeken zich hadden verzameld groot aantal registratie van mislukte autorisatiepogingen via SSH en FTP. Het is duidelijk dat bij moderne internet Er zijn een aanzienlijk aantal robotdiensten die naar computers zoeken open poorten en probeer verbinding met ze te maken door wachtwoorden uit de bestaande database te proberen of een brute-force-methode te gebruiken.

Gelukkig voor ons bestaat er zoiets als fail2ban:

# apt-get install fail2ban

Direct na de installatie is het hulpprogramma al geconfigureerd om de meeste poorten te beschermen, en als er binnen tien minuten meer dan zes mislukte verbindingspogingen in de systeemlogboeken verschijnen, wordt de indringer gedurende tien minuten geblokkeerd. Het mechanisme van hoe fail2ban werkt is vrij eenvoudig: bepaalde triggers activeren zogenaamde jails, die bepalen welke actie bedoeld is om de applicatie te beschermen.

Blokkeerparameters kunnen individueel worden ingesteld:

# nano /etc/fail2ban/jail.local

In het gemaakte bestand moet u de instellingen opgeven die de standaardinstellingen vervangen. Voorbeeld van mijn bestandsinhoud:

# algemene instellingen
negeerip = 127.0.0.1
bantime = 2592000
vindtijd = 43200
maxretry = 6
banaction = iptables-multiport
# instellen van het verzenden van een bericht per e-mail
destemail = gebruiker@localhost
afzendernaam = Fail2Ban
mta = verzendmail
actie = %(actie_mwl)s

# SSH-beveiliging
ingeschakeld = waar
poort = 106
filter = sshd
logpad = /var/log/auth.log

# mislukte wachtwoordpogingen detecteren
ingeschakeld = waar
poort = http,https
filter = apache-auth

# potentiële scans op exploits en PHP-kwetsbaarheden identificeren
ingeschakeld = waar
poort = http,https
filter = apache-noscript
logpath = /var/log/apache*/*error.log

# pogingen detecteren om Apache te overstromen
ingeschakeld = waar
poort = http,https
filter = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 2

# mislukte zoekpogingen detecteren thuismap op de server
ingeschakeld = waar
poort = http,https
filter = apache-nohome
logpath = /var/log/apache*/*error.log
maxretry = 2

Met de bovenstaande instelling heeft u geen controle lokale toegang, en met zes onjuiste inlogpogingen binnen 12 uur verbiedt het het IP-adres van de aanvaller met behulp van iptables gedurende 30 dagen. Niet alleen de toegang via de SSH-poort wordt gecontroleerd, maar ook verdachte acties gericht op het destabiliseren van de werking van de webserver.

Webserverreferentie

De server starten, stoppen en opnieuw opstarten:

# service apache2 starten
# service apache2 stop
# service apache2 opnieuw opstarten

# service apache2 herladen

Hosttest in- en uitschakelen:

# a2ensite-test
# a2dissite-test

Testconfiguratie in- en uitschakelen:

# a2enconf-test
# a2disconf-test

Bestandssyntaxis controleren (zou moeten retourneren: "Syntaxis OK"):

# apache2ctl configuratietest

Optie om een ​​site toe te voegen met toegang via HTTP of HTTPS met behulp van een bestaande virtuele host

Laten we zeggen dat we een nieuwe website aan onze server moeten toevoegen, gelegen in de site.com directory, gelegen in /home/user/www. Dit kan handig zijn omdat de gebruiker zijn thuismap niet hoeft te verlaten wanneer hij met de site werkt.

# chmod 755 /home/gebruiker

Maak een directory voor de site:

$ mkdir /home/user/www /home/user/www/site.com

Om HTTP-toegang toe te voegen, opent u het bestand:

# nano /etc/apache2/sites-available/000-default.conf

Of om toegang via HTTPS toe te voegen, opent u het bestand:

# nano /etc/apache2/sites-available/default-ssl.conf

En voeg de volgende inhoud toe aan het geopende bestand vóór de afsluitende tag /VirtualHost:


Start de webserver opnieuw op:

# service apache2 opnieuw opstarten

We controleren de beschikbaarheid van de site op http:// 127.0.0.1/site.com of https:// 127.0.0.1/site.com (controlemethode - zie hieronder). Houd er rekening mee dat de site wordt geopend ongeacht de aanwezigheid van het .htaccess-bestand, aangezien de richtlijn “Alles vereist” is ingesteld voor de map met de site.

Optie om een ​​site toe te voegen met toegang via HTTP of HTTPS met behulp van een nieuwe virtuele host en toegang tot de site in te stellen via de domeinnaam, niet via IP

De voorwaarden voor het probleem zijn dezelfde als hierboven: laten we zeggen dat we een nieuwe website aan onze server moeten toevoegen, gelegen in de map site.com, gelegen in /home/user/www. Maar nu wil ik ook toegang krijgen tot de site door alleen de domeinnaam in de browserregel in te voeren.

We stellen de rechten voor de gebruikersmap in (voor het geval dat):

# chmod 755 /home/gebruiker

Maak een directory voor de site:

$ mkdir /home/user/www/site.com

# ln -s /home/user/www/site.com /var/www/site.com

Om HTTP-toegang toe te voegen, maakt u een bestand:

# nano /etc/apache2/sites-available/site.com.conf

Opties FollowSymLinks AllowOverride All Vereist dat alles wordt toegekend# HTTP->HTTPS omleiden #RewriteEngine Aan #RewriteCond %(HTTPS) uit #RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI) ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access .log gecombineerd
Of maak een bestand aan om toegang via HTTPS toe te voegen:

# nano /etc/apache2/sites-available/site.com-ssl.conf

En voeg er de volgende inhoud aan toe:

Servernaam site.com ServerAlias ​​www.site.com ServerAdmin gebruiker@localhost DocumentRoot /var/www/site.com Opties FollowSymLinks AllowOverride All Vereist dat alles wordt toegekend# HSTS (mod_headers is vereist) (15768000 seconden = 6 maanden) Header altijd ingesteld Strict-Transport-Security "max-age=15768000" ErrorLog $(APACHE_LOG_DIR)/error.log CustomLog $(APACHE_LOG_DIR)/access.log gecombineerd SSLEngine aan SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 BrowserMatch "MSIE" ssl-unclean-shutdown
Voeg in /etc/hosts de regel “127.0.0.1 site.com” toe:

# echo >> /etc/hosts 127.0.0.1 site.com

Activeer de HTTP-host:

# a2ensitesite.com.conf

Of activeer de HTTPS-host:

# a2ensite site.com-ssl.conf

Start de webserver opnieuw op:

# service apache2 opnieuw opstarten

We controleren de beschikbaarheid van de site op http://site.com of https://site.com (controlemethode – zie hieronder). Houd er rekening mee dat de site wordt geopend ongeacht de aanwezigheid van het .htaccess-bestand, aangezien de richtlijn “Alles vereist” is ingesteld voor de map met de site.

Alle acties worden uitgevoerd binnen de virtuele gastmachine. Het zou interessant zijn om de site te "openen" in de browser van het hostsysteem. Het is niet moeilijk. We kennen de domeinnaam en het IP-adres van de gastmachine. Als het hostsysteem Windows is, moet u het bestand c:\Windows\System32\drivers\etc\hosts openen en helemaal aan het einde de volgende regel toevoegen:


Na deze wijziging moet de computer of het hostsysteem opnieuw worden opgestart. Wanneer u site.com nu in uw browser opent, wordt de toegang ertoe omgeleid naar onze virtuele machine. In feite hebben we de eenvoudigste routing in ons systeem uitgevoerd persoonlijk internet op gastheerniveau besturingssysteem.

Als u alleen via HTTPS toegang tot de virtuele host nodig heeft, maar de verbindingen via HTTP niet wilt verliezen, kunt u een omleiding configureren:

Maak het bestand /etc/apache2/sites-available/site.com.conf aan volgens de bovenstaande instructies, als dit nog niet is gemaakt
- verwijder in het bestand /etc/apache2/sites-available/site.com.conf de commentaartekens voor de drie regels RewriteEngine/RewriteCond/RewriteRule
- activeer de site.com.conf-host als deze niet is geactiveerd
- herstart de server: # service apache2 restart

Controle van de functionaliteit van de toegevoegde site

De eenvoudigste manier om de toegankelijkheid van een site te controleren, is door een index.html-bestand met wat inhoud in de hoofdmap te plaatsen.

Maak het index.html-bestand:

$ nano /home/user/www/site.com/index.html

En voeg er de volgende inhoud aan toe:

TESTEN oké

TESTEN oké




Afhankelijk van de manier waarop u een site toevoegt, opent u het adres http:// 127.0.0.1/site.com (https:// 127.0.0.1/site.com) of http://site.com (https://site .com) in uw browser) - er zou een pagina moeten openen met de tekst "TEST OK".

MySQL-referentiemateriaal

Gebruiker user123 aanmaken met wachtwoord pass123 en database db123 via de console.

Meld u aan bij mysql door het mysql-superuser-wachtwoord in te voeren wanneer daarom wordt gevraagd:

# mysql -u root -p

En maak een database aan (het is niet nodig om het voorvoegsel “mysql>” te typen, de puntkomma aan het einde is vereist):

mysql> DATABASE MAKEN `db123`;

Maak gebruiker user123 aan met wachtwoord pass123:

mysql> GEBRUIKER AANMAKEN "user123"@"localhost" GEÏDENTIFICEERD DOOR "pass123";

Verleen rechten aan de gebruiker in de database:

mysql> VERLEEN ALLE PRIVILEGES OP `db123`.* AAN "user123"@"localhost";

Update de privilegetabel:

mysql> FLUSH-RECHTEN;

MySQL afsluiten:

mysql> afsluiten

Om dit te controleren, opent u het adres http://127.0.0.1/phpmyadmin en logt u in met de toegangsgegevens user123/pass123. U zou toegang moeten hebben tot de db123-database.

Het mysql root-wachtwoord wijzigen van pass123 naar pass456:

# mysqladmin -uroot -ppass123 wachtwoord pass456

Het wachtwoord van gebruiker123 wijzigen van pass123 in pass456:

# mysqladmin -uuser123 -ppass123 wachtwoord pass456

Gebruiker123 verwijderen:

mysql> DROP GEBRUIKER "user123"@"localhost";

Tabel db123 verwijderen:

mysql> DROP DATABASE `db123`;

Fail2ban-referentiemateriaal

De dienst opnieuw starten:

# service fail2ban opnieuw opstarten

Hardloopregels controleren:

# fail2ban-clientstatus

Gedetailleerde statistieken voor de sshd-regel:

# fail2ban-clientstatus ssh

Opheffen van de ban:

# fail2ban-client stelt ssh unbanip Banned_IP in

In deze tutorial leert u hoe u Apache, MariaDB en PHP7 (LAMP-stack) installeert op Debian 9 stretch. LAMP is de meest gebruikte webservices-stack voor het bouwen van dynamische websites en webapplicaties.

Het bestaat uit vier componenten: Linux, Apache, MySQL/MariaDB, PHP - Linux is het besturingssysteem; Apache is een webserver; MySQL/MariaDB is een database; PHP is een scripttaal aan de serverzijde.

Helemaal niet, LAMP-installatie in Debian 9 is het, net als in andere op Linux gebaseerde distributies, heel eenvoudig. Zeker als je bekend bent met teambuilding. We zullen je alles tot in detail vertellen, zodat zelfs een beginner het aankan.

LAMP installeren op Debian 9

Alle vier de componenten zijn gratis en open broncode. Omdat MySQL nu echter eigendom is van Oracle en de mogelijkheid bestaat dat Oracle er een closed source-product van zal maken, zullen we MariaDB verkiezen boven MySQL. U kunt deze tutorial volgen op een VPS (Virtual Private Server) of op een lokale machine waarop Debian 9 draait.

Houd er rekening mee dat bij de installatie software op Debian moet je root-rechten hebben. Je kunt sudo aan het begin van de opdracht toevoegen of de opdracht su gebruiken om naar root te schakelen.

Stap 1: Update softwarepakketten

LAMP (serverstack) staat voor Linux, Apache, MySQL en PHP; vier populair softwarecomponenten Open source, gebruikt door de meeste webhosts, webontwikkelaars, blogs en anderen. We hebben een handleiding opgesteld voor het instellen van uw webserver voor een testomgeving in nieuwste versie Debian. Over het algemeen is het installeren van LAMP in Debian 9 heel eenvoudig, het belangrijkste is om de basisfuncties te begrijpen.

MariaDB vervangt de MySQL-server als de standaarddatabase in Debian 9.

Linux installeren:
over wat goed, interessant en innovatief is, gepresenteerd in Debian 9. Dit is de belangrijkste voorwaarde voor het installeren van al het andere. We raden u ook aan andere handleidingen op de site te lezen. We hebben het bijvoorbeeld al gehad over uw Ubuntu-systeem.

Nu gaan we verder met het installeren van AMP ( Apache-versies 2, PHP-versie 7, MariaDB-versies 10.2) op Debian 9. Laten we dus één voor één installeren.

Apache HTTP-server installeren:
Om te beginnen installeren we de Apache-webserver. Open een terminal en schakel vervolgens over naar rootgebruiker.

Werk de index van de pakketrepository bij.

De pakketnaam van de Apache-webserver is apache2. Installeer het apache2-pakket met de opdracht apt-get.

apt-get -y installeer apache2

De Apache HTTP-server beheren:

Om de Apache2-server te starten, voert u uit.

systemctl start apache2.service

Start om de Apache2-server te stoppen.

systemctl stop apache2.service

Om de Apache2-server opnieuw op te starten, voert u uit.

Om de Apache2-serverstatus te controleren, voert u uit.

systemctl-status apache2.service

Firewall:

Toestaan Apache HTTP-server door de firewall.

ufw staat 80/tcp toe

ufw staat 443/tcp toe

Apache HTTP-server testen:

Nu zullen we de Apache-webserver controleren om te zien of deze goed werkt of niet. Open een webbrowser en navigeer vervolgens naar de volgende URL.

HTTP://localhost/
OF

Http://uw-f-add-on ssg/
U krijgt de pagina "Apache2 Debian Default", deze standaardpagina bevestigt dat de Apache HTTP-server goed werkt.

MySQL-server installeren (MariaDB):
MariaDB is een MySQL-serververvanging ontwikkeld door de oorspronkelijke MySQL-ontwikkelaars om een ​​open source RDBMS te blijven. MariaDB is nu een van de meest populaire servers databanken ter wereld.

Voer de volgende opdracht uit om MariaDB te installeren

apt-get -y installeer mariadb-server

Met deze opdracht kunt u de beveiliging van uw MariaDB-installatie op de volgende manieren verbeteren:

Dat kan installeren wachtwoord voor het root-account.

U kunt root-accounts beperken tot localhost.

U kunt anonieme gebruikersaccounts verwijderen.

U kunt de testdatabase en de rechten verwijderen die iedereen toegang geven tot databases waarvan de naam begint met test_.

PHP installeren:
Standaard ondersteunt de Apache-server alleen .html en niet PHP. Hiervoor moet u het PHP- en php-extensiepakket voor de MariaDB-server installeren. Hier zullen we PHP 7 op Debian 9 installeren.

apt-get -y installeer php php-mysql

Na het installeren van het PHP-pakket moet u de Apache HTTP-server opnieuw opstarten.

systemctl herstart apache2.service

PHP-testen:

Gebruik de VI-editor om het info.php-bestand te maken.

vi /var/www/html/info.php

Deze vi-opdracht opent een bestand met de naam info.php. Kopieer/plak onderstaande regels in het info.php-bestand:

Bewaar en sluit het bestand met Esc +: wq.

Open nu uw internetbrowser en voer de volgende URL in het webadres in.

Http://localhost/info.php

Http://uw-ip-adres/info.php
De pagina zal er als volgt uitzien:

Het installeren van LAMP in Debian 9 bleek, zoals we hierboven al zeiden, heel eenvoudig. We hopen dat je tijdens de installatie de basiswaarden snel hebt begrepen. Maar als je vragen hebt, stel ze dan gerust in de reacties.

Conclusies

Dit is alles! Gefeliciteerd, u hebt LAMP met succes geïnstalleerd op Debian 9. Als u dit artikel nuttig vond, vergeet dan niet de link te delen.

Als u een fout tegenkomt, markeer dan een stuk tekst en klik Ctrl+Enter.

Een paar uur geleden, over coole hosting DigitaleOceaan. Als je geïnteresseerd bent en het in actie wilt proberen, moet je je eerste maken druppel en installeer/configureer alle benodigde servercomponenten ( Apache, MySQL, PHP). In dit bericht wil ik je vertellen hoe je een combinatie die populair is bij alle hostingproviders goed installeert en configureert: Apache, MySQL En PHP(LAMP). De notitie is bedoeld voor nieuwkomers in de Linux-wereld.

Opslagplaatsen bijwerken

Zorg ervoor dat u de opslagplaatsen bijwerkt voordat u de software installeert. Dit gebeurt met één commando:

Apt-get-update

Apache installeren op Debian 7

Installatie Apache zou geen problemen moeten opleveren. Het komt allemaal neer op het aanroepen van één enkele opdracht (repository's zijn cool):

Apt-get installeer apache2

Eenmaal voltooid, wordt er een bericht weergegeven dat aangeeft dat sommige pakketten ontbreken en een aanbod om te downloaden. Mee eens, en maak je klaar om de inscripties een paar minuten in de console te bekijken. Test na voltooiing van het installatieproces de functionaliteit van de webserver. Open hiervoor uw browser en ga naar http://ip_your_server. Als je de host inbrengt DigitaleOceaan, dan kunt u het IP-adres achterhalen via het droplet-bedieningspaneel of door de opdracht in de console uit te voeren:

Ifconfig eth0 | grep inet | awk "(afdruk $2)"

Een correct geïnstalleerde webserver zal een pagina weergeven met het opschrift “ Het werkt!”.

Het volgende onderdeel dat we moeten installeren is het MySQL DBMS. Om MySQL te downloaden en te installeren, moet u opnieuw één opdracht uitvoeren:

Apt-get installeer mysql-server

De pakketbeheerder zal ons ook vragen om afhankelijke componenten te downloaden en te installeren, en nadat ze zijn gedownload, wordt het configuratiehulpprogramma gestart. Haar eerste vraag zal zijn om het wachtwoord voor het “root” -account te vragen. We bedenken een complexer wachtwoord en drukken op "enter". Ik raad u aan om het wachtwoord zelf vanaf het toetsenbord in te voeren, en niet vanuit de buffer. Eén keer heb ik dus het verkeerde wachtwoord ingevoerd en moest ik het opnieuw installeren MySQL.

Zodra de MySQL-installatie is voltooid, moet u het script uitvoeren: mysql_secure_installation. Om dit te doen, schrijft u de opdracht in een terminalvenster:

Mysql_secure_installatie

Het script vraagt ​​u onmiddellijk om het wachtwoord voor het “root”-account dat u tijdens de installatie heeft opgegeven. Voer uw wachtwoord in en druk op de “Enter”-toets. Als het wachtwoord correct is ingevoerd, zal het script u vragen het te wijzigen. Aangezien u tijdens de installatie waarschijnlijk een goed wachtwoord heeft bedacht, voert u “N” in en weigert u daarmee het wachtwoord te wijzigen.

De volgende vraag zal een voorstel zijn om anonieme gebruikers te verwijderen. Ze zijn niet nodig voor gevechtshosting, dus we zijn het ermee eens ( voer “Y” in de terminal in).

Vervolgens zal het script aanbieden om de mogelijkheid van de rootgebruiker om verbinding te maken vanaf externe hosts te blokkeren. Dit is erg goed voor de veiligheid, daar zijn wij het mee eens. Een gebruiker met volledige rechten mag alleen lokaal verbinding maken met de databaseserver. Voer "Y" in en druk op de "Enter"-toets. In de volgende vraag zal de wizard voorstellen om testdatabases te verwijderen. We hebben ze niet nodig, dus we zijn het ermee eens. De laatste vraag heeft betrekking op de toestemming om de privilegetabel opnieuw te laden. Wij zijn het daarmee eens en al onze antwoorden op de voorgaande vragen worden onmiddellijk van kracht.

PHP5 installeren op Debian 7

De laatste stap is het installeren van PHP. Het is net zo eenvoudig als het installeren van Apache. Voer de opdracht in het terminalvenster in:

Apt-get installeer php5 php-pear php5-mysql

Installatie php5 V debian7 kost wat tijd. Om er zeker van te zijn dat de tolk correct is geïnstalleerd, moet u opnieuw opstarten Apache. PHP communiceert met de WEB-server via een module die automatisch wordt gestart wanneer Apache opnieuw wordt opgestart. Gebruik het commando om Apache opnieuw te starten:

Service apache2 opnieuw opstarten

Het controleren van de functionaliteit van PHP

De laatste stap voor vandaag is het controleren van de functionaliteit van PHP. Laten we proberen een testscript te maken en dit via een browser te openen. Voer de opdracht in de terminal in

Nano /var/www/phpinfo.php

Het zal de nano-teksteditor starten. Daarin voeren we de standaardregel in om de werking van de PHP-interpreter te controleren:

Wijzigingen in het bestand opslaan ( ctrl + o) en sluit het bestand ( ctrl+x). Met deze eenvoudige actie hebben we een bestand langs het pad gemaakt /var/www/phpinfo.php– standaard hostmap. Om op afstand toegang te krijgen tot dit bestand, moeten we daarom in de browser typen:

http:// /phpinfo.php

Als alle componenten correct zijn geïnstalleerd, ziet u een pagina die lijkt op die in de onderstaande afbeelding.

Klaar voor werk en verdediging

Bij deze stap kunt u ervan uitgaan dat de WEB-server aan staat Debian7 helemaal klaar voor werk. De belangrijkste componenten zijn geïnstalleerd en klaar om de grote hoeveelheid klanten te bedienen. Voor volledig geluk is FTP-toegang niet voldoende en handig paneel databasebeheer. Ik zal je hier morgen over vertellen.

Zonder overdrijving kan de Apache-webserver de de facto standaard op internet worden genoemd. De meeste populaire contentmanagementsystemen en andere webapplicaties zijn ontworpen om kant-en-klaar met deze webserver te werken. Als u daarom een ​​webserver voor algemeen gebruik nodig heeft, is Apache de beste keuze. In dit artikel vertellen we u hoe u een volwaardige op Debian gebaseerde webserver / Ubuntu-server.

Laten we meteen zeggen dat Apache in veel opzichten geen leider is onder de webservers, zoals snelheid of resourceverbruik, maar het voordeel heeft dat het gegarandeerd elke webapplicatie of website kan draaien zonder aanvullende instellingen en verbeteringen. Laten we hier flexibiliteit en eenvoud in instellingen toevoegen, goede documentatie en een lage toetredingsdrempel. Als u niet weet welke specifieke voordelen het gebruik van een alternatieve webserver met zich meebrengt, kunt u in het algemeen voor Apache kiezen.

Naast de webserver zelf hebben we een databasebeheersysteem nodig; MySQL is lange tijd de de facto standaard in deze branche geweest, en een van de scripttalen voor het uitvoeren van webapplicaties, tegenwoordig heeft PHP met vertrouwen de palmares. Alles samen vormt een klassieke bundel, ook wel een LAMP-server genoemd, de afkorting staat voor: Linux - Apache - MySQL - PHP.

Voor de installatie gebruiken we het Debian/Ubuntu-platform. Systemen verschillen, afhankelijk van de release, qua software, maar alles wat hieronder wordt vermeld, is op elk van hen evenzeer van toepassing. Bestaande verschillen worden afzonderlijk besproken. Op het moment van schrijven zijn de volgende systeemreleases en softwareversies actueel:

  • Debian 8Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • Debian 7 Knijp: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Ubuntu-server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Alle bovenstaande releases bevatten relatief moderne versies van de software, maar er zijn enkele bijzonderheden. Apache 2.4, opgenomen in Ubuntu 14.04 en Debian 8, vertoont dus behoorlijk ernstige verschillen met Apache 2.2 en niet alle CMS (content management systemen, “engines”) en webapplicaties kunnen ermee werken, vooral niet voor oudere versies. U kunt Apache 2.4 dus bijvoorbeeld niet gebruiken voor webtoegang tot 1C:Enterprise-databases. Als u besluit versie 2.4 te kiezen, controleer dan ook de compatibiliteit ermee van alle CMS- en webapplicaties die gepland zijn voor implementatie.

Bovendien werkt MySQL, meegeleverd met Ubuntu Server 12.04 / 14.04, niet in OpenVZ-containers, die veel worden gebruikt om VPS-services te leveren. Het probleem wordt opgelost door MySQL uit de repository te vervangen door een versie van de MySQL Community (ontwikkelaars) of een van de forks, bijvoorbeeld MariaDB.

Dat gezegd hebbende optimale keuze Wij zijn van mening dat het gebruik van Debian 7 als webserverplatform het meest compatibel is met bestaande webapplicaties en geen ernstige problemen met zich meebrengt.

We zullen niet ingaan op de installatie en voorbereiding van het server-besturingssysteem; u kunt meer in detail kennis maken met dit proces in onze artikelen voor en. Zorg er ook voor dat u uw systemen correct configureert. Alle onderstaande stappen moeten worden uitgevoerd met superuser-rechten, bijvoorbeeld met behulp van de opdracht sudo.

Apache installeren

Het opzetten van een webserver is uiterst eenvoudig:

Apt-get installeer apache2

Om de werking ervan te controleren, typt u het IP-adres van de server in uw browser en u zult het zien standaard pagina stomp:

Voor Apache 2.4 ziet het er iets anders uit, maar de betekenis verandert niet.

Serverinstellingen zijn opgenomen in /etc/apache2/apache2.conf, waaraan extra bestanden uit mappen zijn gekoppeld mods ingeschakeld En sites ingeschakeld. In dit geval houdt niemand u tegen om alle opgegeven instellingen rechtstreeks in te voeren apache2.conf- alles zal werken, maar dit vermindert het beheergemak aanzienlijk, omdat het voortdurend bewerken van het hoofdconfiguratiebestand vereist, terwijl de instellingen externe bestanden Eenvoudig aan en uit te zetten met behulp van speciaal gereedschap.

Voor dit doel, catalogi mods ingeschakeld En sites ingeschakeld bevatten geen configuratiebestanden, maar alleen symbolische verbanden op de map mods-beschikbaar En sites-beschikbaar, waar de bestanden zelf zich zouden moeten bevinden. Zoals de namen suggereren, bevatten deze mappen instellingen voor modules en virtuele hosts. Als u zelden met modules te maken heeft, beheer het dan op deze manier virtuele gastheren, d.w.z. sites, erg handig.

We hebben al in detail geschreven over virtuele hosts en de locatie van site-inhoud in het artikel over, alles wat daar wordt gezegd, geldt ook voor ons geval. U bent vrij om elke data-indeling te kiezen, maar wij geven er de voorkeur aan om website-inhoud daarin op te slaan /var/www in mappen met de domeinnaam.

Het volgende probleem dat moet worden opgelost, zijn de toegangsrechten tot bestanden en mappen op de site. Standaard moet hun eigenaar de webserver zijn (gebruiker en groep www-gegevens), anders werken scripts mogelijk onverwacht of helemaal niet. Het is handiger en veiliger om website-inhoud namens de gebruiker uit te voeren, in plaats van namens de webserver. Om dit te doen, installeert u het volgende pakket:

Apt-get installeer apache2-mpm-itk

IN Ubuntu 14.04 Bij het installeren van dit pakket kunt u een fout tegenkomen:

Dpkg: foutverwerkingspakket apache2-mpm-itk (--configure):
afhankelijkheidsproblemen - laat dit niet geconfigureerd

Open secties sluiten: En en sla het bestand vervolgens op. De virtuele hostconfiguratie is gereed.

Om de site in te schakelen, moet u een symbolische link maken naar het configuratiebestand in de map sites ingeschakeld en om het uit te schakelen verwijdert u deze link. Dit kan handmatig worden gedaan met behulp van de opdracht ln -s, of gebruik een speciaal apache-hulpprogramma:

A2ensite voorbeeld.com

Met deze opdracht wordt de site ingeschakeld; voer het volgende in:

A2dissite voorbeeld.com

Optioneel wordt aan de opdracht de naam van het configuratiebestand doorgegeven sites-beschikbaar, in het geval van Apache 2.4 zonder extensie. Na elke dergelijke actie moet de webserver opnieuw worden opgestart:

Dienst apache2 herladen

Om de werking van een virtuele host te controleren, plaatst u een HTML-bestand in de hoofdmap en neemt u contact op met de server via de domeinnaam (het domein A-record moet zijn geconfigureerd en naar uw webserver verwijzen).

Laten we bijvoorbeeld een indexbestand maken:

Raak /var/www/examlpe.com/index.html aan

En zet de regel erin:

OK!



Als gevolg hiervan zou u het volgende in de browser moeten zien:

PHP installeren

Als u een webserver nodig had om statische inhoud te hosten of webapplicaties van derden, bijvoorbeeld publicaties van 1C:Enterprise-databases, dan hoeft u niet verder te lezen. Maar als u een website gaat maken op basis van het populaire CMS, heeft u ondersteuning voor scripting nodig PHP-taal, op basis waarvan de meeste moderne motoren worden ontwikkeld.

Belangrijk! Moderne distributies gebruiken een nieuwere versie van PHP7 om mee te werken nieuwe versie in plaats van tong php5 in de onderstaande opdrachten moet u dit opgeven php7.0 bijvoorbeeld in plaats van php5-imagic hoeft te bellen php7.0-imagic

Laten we de opdracht uitvoeren:

Apt-get installeer php5

De tolk zelf en de modules die nodig zijn voor het werken met de webserver worden geïnstalleerd. Met modules kunt u de functionaliteit van PHP flexibel wijzigen. Het modulebeheer wordt op dezelfde manier uitgevoerd als Apache, wanneer moduleconfiguraties zich in de ene map bevinden en er een symbolische link naar een andere map wordt gemaakt om ze te verbinden.

Standaard wordt PHP geïnstalleerd met een basisset modules die aan de meeste behoeften voldoen, maar het CMS dat u gebruikt heeft mogelijk extra modules nodig die u afzonderlijk moet installeren.

Als u bijvoorbeeld met afbeeldingen wilt werken, heeft u ondersteuning voor een grafische bibliotheek nodig GD2, dus laten we de juiste module installeren:

Apt-get installeer php5-gd

Vergeet dan niet de webserver opnieuw op te starten:

Dienst apache2 herladen

Trouwens, GD2 naar onze mening niet de beste beste keuze, kan een laag verbruik van hulpbronnen worden geregistreerd als een troef van de bibliotheek en hoge snelheid werkt, maar in termen van kwaliteit van het werk met afbeeldingen is het inferieur aan een alternatief hulpprogramma beeldmagie, soms aanzienlijk. Daarom is het logisch om beide hulpprogramma's te installeren en degene te kiezen wiens werk het meest geschikt voor u is. Als de serverbronnen dit toelaten, verdient het de voorkeur om te gebruiken beeldmagie.

Laten we het hulpprogramma installeren en PHP-module voor haar:

Apt-get installeer imagemagick php5-imagick

Om de werking van PHP te controleren, zullen we een speciaal script maken in de hoofdmap van de site:

Raak /var/www/examlpe.com/info.php aan

En voeg er de volgende tekst aan toe:

phpinfo();
?>

Laten we nu in de browser typen http://voorbeeld.com/info.php, als resultaat van dit script krijg je een standaardpagina te zien met informatie over PHP, geïnstalleerde modules, instellingen, enz.

MySQL installeren

MySQL DBMS is de derde noodzakelijk onderdeel een volwaardige webserver, het belangrijkste doel van de database is het opslaan van site-informatie, zowel gebruiker als service. Tegelijkertijd overtreft het DBMS alle andere componenten in belang, aangezien het verlies van een database neerkomt op het verlies van alle informatie van uw bron.

Laten we de databaseserver en de PHP-module installeren om ermee te werken:

Apt-get installeer mysql-server php5-mysql

Tijdens het installatieproces wordt u gevraagd een wachtwoord in te voeren voor de MySQL-superuser (root), die niet mag worden verward met de systeemsuperuser.

Voor handige bediening databases, is het zinvol om phpMyAdmin te installeren - een handig webgebaseerd hulpprogramma voor het beheren van de MySQL-server:

Apt-get installeer phpmyadmin

Het hulpprogramma-installatieprogramma kan populaire webservers automatisch configureren Apache En Lichtpd, moet de vereiste server tijdens de installatie worden opgegeven:

De webinterface van het hulpprogramma is beschikbaar op http://voorbeeld.com/phpmyadmin, om in te loggen moet je de MySQL-gebruikersgegevens gebruiken, in ons geval is dat root (er zijn nog geen andere) met het wachtwoord dat we hebben opgegeven tijdens de MySQL-installatie.

IN Ubuntu 14.04 we zijn een klein probleem tegengekomen, het hulpprogramma liet ons weten dat de extensie mcrypt niet gevonden, hoewel de overeenkomstige PHP-module tussen de afhankelijkheden was geïnstalleerd.

Laten we het controleren. IN /etc/php5/apache2/conf.d er is geen link naar deze module terwijl deze in /etc/php5/mods-available het vereiste bestand is aanwezig. Bijgevolg is de module geïnstalleerd, maar om de een of andere reden niet aangesloten. Misschien komt dit door Apache 2.4 en kan een soortgelijke situatie zich voordoen Debian 8.

Er is echter niets ergs gebeurd, het enige dat we nodig hebben is de module verbinden door een symbolische link te maken:

Ln -s /etc/php5/mods-available/mcrypt.ini /etc/php5/apache2/conf.d/20-mcrypt.ini

Geen aanvullende instellingen MySQL-server heeft dit niet nodig, aangezien UTF-8-codering een de facto standaard is geworden. In principe kunnen we hier eindigen, maar alle databases die op de server worden gehost, zullen werken met MySQL-superuser-rechten, wat onveilig is. Daarom moet u databaseservergebruikers met beperkte rechten aanmaken, zodat zij alleen hun eigen databases kunnen beheren.

Laten we openen phpMijnAdmin en ga naar de pagina Rechten (gebruikers), waar wij kiezen Voeg een nieuwe gebruiker toe.

Laten we nu de pagina iets lager scrollen en de optie installeren Verleen volledige rechten aan databases die overeenkomen met de sjabloon (gebruikersnaam\_%)

Hierdoor kunt u zich wederom niet laten afleiden door het instellen van rechten, maar eenvoudig databases maken met namen als ivanov_basis1 of petrov_base2, waardoor relevante gebruikers worden geboden volledige rechten hierop, en stel snel het eigendom van de database vast. Tegelijkertijd is deze instelling geen dogma; u kunt naar eigen inzicht handelen. De overige parameters laten we standaard staan.

Om dit te controleren zullen we een database aanmaken phpMyAdmin - Databases - Nieuwe database.

Let bij het maken van een database op de codering. Tegenwoordig werken de meeste zoekmachines en webapplicaties met UTF-8 (utf8_general_ci) Oudere versies van zoekmachines kunnen echter nationale coderingen gebruiken, dus u moet deze correct specificeren tijdens het maken van de database. Anders moet u uploaden naar de database die is gemaakt in UTF-8 dumpen in codering Windows-1252 In plaats van Russische letters op de site zal er “kryakozyabliki” staan.

Nadat we de database hebben gemaakt, controleren we de rechten ervan door op de gelijknamige link naast de naam van de database te klikken.

Zoals u kunt zien, klopt alles, de gebruiker die in de naam is opgegeven en de superuser-root hebben volledige rechten op de database, hoewel we geen toegangsinstellingen hebben opgegeven bij het maken van de database.

Op dit punt kan de installatie als voltooid worden beschouwd en kunt u beginnen met het bedienen van de server. Ondanks het feit dat de beschreven configuratie eenvoudig is, zijn de mogelijkheden ervan voldoende om tegemoet te komen aan en normale werking vrijwel elk modern CMS massale toepassing en we zullen deze server gebruiken als referentie voor ons volgende materiaal over dit onderwerp.

  • Tags:

Schakel JavaScript in om de

06 sep

LAMP is een reeks softwareproducten die veel worden gebruikt om webservices te creëren. Deze set bestaat uit een operatiekamer Linux-systemen, een van de meest voorkomende Apache-webservers, Mysql DBMS en PHP-scripttaal. Dit artikel is gewijd aan de procedure standaard installatie en configuratie van deze set voor verder gebruik voor webservices.

Als besturingssysteem werd Debian 8 gekozen, als een van de meest populaire GNU/Linux-distributies. Het installatieproces van dit besturingssysteem zelf zal niet in overweging worden genomen, omdat dit geen verband houdt met het onderwerp van het artikel.

Alle installatie- en configuratiebewerkingen worden uitgevoerd onder het rootgebruikersaccount.

Apache installeren

Voordat u met de installatie begint, moet u de opdracht uitvoeren:

Apt-get installeer apache2

Zodra de installatie is voltooid, is de webserver klaar voor gebruik. U kunt eenvoudig de functionaliteit ervan controleren door het IP-adres van de server waarop het Apache-pakket is geïnstalleerd in uw webbrowser te openen. Voor versie 2.4 ziet de stubpagina er als volgt uit:

Apache-configuratiebestand, gelegen in /etc/apache2/apache2.conf

De map /etc/apache2/sites-enabled/ bevat de configuratiebestanden van de gemaakte webservices, en de map /etc/apache2/sites-available/ bevat symbolische koppelingen naar de configuratiebestanden van de webservices die momenteel zijn ingeschakeld.

Deze configuratiebestanden kunnen worden gebruikt om de configuratie van virtuele hosts te beheren. Met Apache-server kunt u meerdere virtuele hosts (services) op één server hosten. Standaard bevindt alle inhoud van webservices zich in de map /var/www. De plaatsing van inhoud kan worden gewijzigd door dit op te geven in het configuratiebestand van de virtuele host, hiervoor is de DocumentRoot-richtlijn verantwoordelijk.

Laten we overwegen om een ​​eenvoudige webpagina te maken met de inscriptie "Hallo wereld". Laten we eerst een map maken waarin de inhoud wordt opgeslagen. Om dit te doen, voert u de opdracht uit:

Mkdir /var/www/helloworld.net

In deze map maken we een eenvoudig html-bestand index.html aan met de volgende inhoud:

Hallo wereld

Dit is een testpagina.



Zodra de inhoud van een eenvoudige pagina aanwezig is, moet u een configuratiebestand voor de virtuele host maken. Om dit te doen, maakt u in de map /etc/apache2/sites-available/ een bestand helloworld.net.conf (vergeet de conf-extensie niet) met de volgende inhoud:

Servernaam helloworld.net ServerAdmin [e-mailadres beveiligd] ServerAlias ​​​​www.helloworld.net DocumentRoot /var/www/helloworld.net CustomLog $(APACHE_LOG_DIR)/helloworld.net.access.log gecombineerd ErrorLog $(APACHE_LOG_DIR)/helloworld.net.error.log

Hier zijn de parameters:

  • Servernaam – domeinnaam van de virtuele host (onze pagina);
  • ServerAdmin – e-mailadres van de beheerder;
  • ServerAlias ​​– virtuele hostalias (domeinnaam van de host met de toevoeging www);
  • DocumentRoot – de plaats waar de inhoud van de dienst zelf wordt opgeslagen;
  • CustomLog - naam van het servicetoegangslogbestand;
  • ErrorLog – naam van het foutenlogbestand.

Een gedetailleerde beschrijving van alle parameters en hun waarden in het configuratiebestand is te vinden in de officiële documentatie (http://httpd.apache.org/docs/2.4).

De volgende stap is het inschakelen van onze virtuele host. Dit kan eenvoudig worden gedaan door een symbolische link te maken:

Cd /etc/apache2/sites-enabled ln -s ../sites-available/helloworld.net.conf helloworld.net.conf

U kunt virtuele hosts ook in- en uitschakelen met respectievelijk de opdrachten a2ensite en a2dissite.

Om in te schakelen:

A2ensite helloworld.net

Uitschakelen:

A2dissite helloworld.net

Nadat u de host heeft ingeschakeld, moet u de Apache-server opnieuw opstarten:

/etc/init.d/apache2 opnieuw opstarten

Nu kunt u de werking van de gemaakte pagina controleren.

Om de pagina te controleren, moet u mogelijk een regel toevoegen aan het hosts-bestand op de computer waarop de controle wordt uitgevoerd:

Xxx.xxx.xxx.xxx hallowereld.net

Waar xxx. xxx. xxx. xxx – dit is het IP-adres van de server waarop Apache is geïnstalleerd. Het hosts-bestand bevindt zich:

  • C:\Windows\System32\drivers\etc (in Win7);
  • /etc/hosts (op Debian).

PHP installeren

De volgende stap is het installeren van de PHP-scripttaal. De installatie wordt uitgevoerd met het commando:

Apt-get installeer php5

Nu moet je het controleren PHP-werk. Om dit te doen, voegt u het test.php-bestand toe aan de site-inhoudsmap (/var/www/helloworld.net). In dit bestand moet je het volgende schrijven:

Opgemerkt moet worden dat er een PHP-module is voor de Apache-server. Met deze module kunnen Apache en PHP efficiënter werken. U kunt controleren of de module is geïnstalleerd:

Dpkg -l | grep libapache2-mod-php5

Als er geen module is, moet u deze installeren:

Apt-get installeer libapache2-mod-php5.

U kunt als volgt controleren of de module is aangesloten op de Apache-server zelf:

Ls -l /etc/apache2/mods-enabled/ | grep php5

Het volgende zou moeten verschijnen:

Lrwxrwxrwx 1 root root 27 september 2 10:07 php5.conf -> ../mods-available/php5.conf lrwxrwxrwx 1 root root 27 september 2 10:07 php5.load -> ../mods-available/php5.load

Als de module niet is ingeschakeld, vergelijkbaar met virtuele hosts, kunt u deze inschakelen met de opdracht

A2enmod php5

De module wordt uitgeschakeld met behulp van de opdracht a2dismod.

MySQL installeren

De laatste stap om de omgeving voor te bereiden op het werken met webservices is het installeren van mysql DBMS. De installatie wordt uitgevoerd met het commando:

Apt-get installeer mysql-server php5-mysql

Tijdens het installatieproces wordt u gevraagd een wachtwoord voor de rootgebruiker in te voeren.

Nadat de installatie is voltooid, kunt u de werking van mysql controleren door verbinding te maken met het DBMS zelf.

Mysql -u root -p Voer wachtwoord in: Welkom bij de MySQL-monitor. Commando's eindigen met ; of\g. Uw MySQL-verbindings-ID is 43 Serverversie: 5.5.49-0+deb8u1 (Debian) ... mysql>

Hiermee is de basisvoorbereiding van de server voltooid. Om de database te beheren, kunt u bovendien ook het hulpprogramma phpmyadmin installeren.

Apt-get installeer phpmyadmin

Tijdens de installatie moet u de server opgeven waarmee u gaat werken. Hierdoor kan het installatieprogramma het hulpprogramma automatisch configureren om met deze server te werken.

Ook kunt u positief reageren op het voorstel om de database in te richten.

En voer meerdere keren het wachtwoord voor de databasebeheerder in (het wachtwoord dat is opgegeven voor de rootgebruiker bij het installeren van mysql).

Nadat de installatie van phpmyadmin is voltooid. U kunt de werking ervan controleren door de link http://localhost/phpmyadmin te volgen (als de browser vanaf dezelfde server wordt geopend) of door de link http://xxx.xxx.xxx.xxx/phpmyadmin te volgen vanaf een andere computer, waar xxx.xxx.xxx is het IP-adres van de server.

Om in te loggen, moet u de gebruikersnaam en het wachtwoord gebruiken die zijn opgegeven bij het installeren van mysql.