phpMyAdmin är ett gratis administrationsverktyg med öppen källkod för MySQL och MariaDB. Som en bärbar webbapplikation skriven i PHP har den blivit ett av de mest populära MySQL-administrationsverktygen, särskilt för webbhotelltjänster. Detta verktyg ger ett användarvänligt webbgränssnitt för att komma åt och hantera dina databaser.
Här är nyckelfunktioner och höjdpunkter som gör phpMyAdmin till ett bra val för databashantering:
- Webbaserat gränssnitt: Få åtkomst till och hantera dina databaser var som helst via en webbläsare.
- Omfattande databashantering: Utför olika aktiviteter, inklusive att bläddra i databaser, tabeller, kolumner, relationer, index, användare, behörigheter och exekvera SQL-satser.
- Importera och exportera data: Importera enkelt data från CSV och SQL och exportera data till olika format, såsom CSV, SQL, XML, PDF, ISO/IEC 26300—OpenDocument Text and Spreadsheet, Word, Excel, LATEX och andra.
- MySQL-funktioner: Fullständigt stöd för MySQL-funktioner, inklusive hantering av databaser, tabeller, kolumner, relationer, index, användare och behörigheter.
- Avancerad fråga: Funktionen Query-by-example (QBE) skapar komplexa frågor.
- Visualiseringar: Generera visuella representationer av dina databaser och deras strukturer.
- PHP-kompatibilitet: Helt skrivet i PHP, vilket säkerställer kompatibilitet med PHP-system.
- Flerspråkig support: Tillgänglig på 78 språk, vilket gör den tillgänglig för användare över hela världen.
Dessa funktioner framhäver phpMyAdmins förmåga att hantera olika databashanteringsuppgifter effektivt, vilket vänder sig till nybörjare och erfarna användare. Låt oss sedan dyka in i de tekniska stegen för att installera och konfigurera phpMyAdmin med Nginx på Ubuntu.
Uppdatera Ubuntu före LEMP-installation
För en smidig installationsprocess och för att förhindra konflikter innan du startar handledningen, uppdatera ditt system med de senaste paketen:
sudo apt update && sudo apt upgrade
Installera LEMP Stack för phpMyAdmin
Installera Nginx-delen av LEMP
För att ställa in en LEMP-stack, börja med att installera Nginx med kommandot nedan:
sudo apt install nginx
Tjänsten är vanligtvis aktiverad som standard efter installationen. Men verifiera alltid och se till att den fungerar korrekt:
systemctl status nginx
Om servern inte är aktiverad, använd följande kommando för att aktivera den och ställ in Nginx att starta automatiskt vid varje omstart:
sudo systemctl enable nginx --now
Installera MariaDB-delen av LEMP
Det andra steget av LEMP-installationen involverar installation av databaskomponenten. MariaDB är vanligtvis det föredragna valet i LEMP-stacken framför MySQL på grund av dess förbättrade prestanda och andra fördelar. Om du föredrar att installera en annan version av MariaDB från de officiella arkiven som tillhandahålls av MariaDB.org, kan du hitta vår guide på installera MariaDB 11.x eller 10.x på Ubuntu.
För att installera MariaDB, kör följande kommando i din terminal.
sudo apt install mariadb-server mariadb-client
Efter installationen, verifiera MariaDB-tjänstens status, som du gjorde för Nginx, för att säkerställa att den är aktiverad och fungerar korrekt utan fel.
systemctl status mariadb
Om servern inte är aktiverad, använd följande kommando för att aktivera och starta MariaDB vid omstart:
sudo systemctl enable mariadb --now
Kör MariaDB Post Installation Security Script på Ubuntu
Kör installationssäkerhetsskriptet under MariaDB-installationsprocessen för att säkra din installation och förhindra potentiellt utnyttjande eller intrång av illvilliga aktörer. Branschen rekommenderar starkt detta skript, eftersom nya MariaDB-versioner ofta kommer med standardinställningar som anses vara svaga och riskfyllda.
För att börja, kör följande kommando för att starta (mysql_secure_installation):
sudo mysql_secure_installation
Efter körningen av mysql_secure_installation-skriptet är nästa steg att konfigurera inställningarna. Detta inkluderar att ställa in root-lösenordet, begränsa fjärråtkomst från externa källor, ta bort anonyma användarkonton och eliminera testdatabasen. Dessa steg hjälper till att säkra din MariaDB-installation och förhindra potentiella säkerhetshot.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Installera PHP-delen av LEMP
Att slutföra LEMP-installationsprocessen kräver installation av PHP-tjänsten, mellanhanden mellan Nginx och MariaDB. PHP-FPM-tjänsten och ytterligare moduler som krävs av phpMyAdmin underlättar detta. Om du vill installera en annan PHP-version, konsultera vår guide för att installera PHP 8.x på Ubuntu för information om hur du installerar en PHP-version som passar dina behov.
För att installera PHP och PHP-FPM och de nödvändiga modulerna på ditt Ubuntu-system, kör följande kommando i din terminal.
sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd
Efter installationen, verifiera PHP-tjänstens status, som du gjorde för MariaDB, för att säkerställa att den är aktiverad och körs korrekt utan fel.
Exempelkommandot är specifikt för den installerade versionen av PHP; i det här fallet var det för PHP 8.1.
systemctl status php8.1-fpm
Aktivera PHP-tjänsten med följande kommando om den inte är aktiv än; Detta kommando säkerställer också att tjänsten startar automatiskt vid varje omstart.
sudo systemctl enable php-fpm --now
Installera phpMyAdmin Backend på Ubuntu
Det här avsnittet kommer att täcka nedladdning av PHPMyAdmin-arkivet och upprättande av nödvändiga kataloger, behörigheter och databasposter.
Skapa phpMyAdmin Användarnamn Super User
Åtkomst till phpMyAdmin som standard med root-användaren. Men för säkerhets skull, skapa en separat superanvändare istället för att använda root-användaren, anpassa sig till att använda en sudo-användare i Linux istället för att logga in som root. Börja med att logga in på terminalgränssnittet:
sudo mariadb -u root
Efter att ha loggat in på terminalgränssnittet är nästa steg att skapa en databas i MariaDB-terminalen.
CREATE USER PMAUSER IDENTIFIED BY 'password here change';
Nästa steg är att skapa en användare och ge lämpliga behörigheter, som beskrivs nedan:
GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;
Notera: Du måste ändra exempellösenordet "ändring av lösenord här" innan du utför kommandona. Uppdatera lösenordet istället för att bara kopiera och klistra in det.
Ställ in användaren och behörigheterna och spola sedan privilegierna omedelbart för att aktivera ändringarna.
FLUSH PRIVILEGES;
För att avsluta MariaDB-terminalen, använd följande kommando.
QUIT;
Ladda ner phpMyAdmin-källa
I det här avsnittet kommer vi att täcka ladda ner källarkivet för phpMyAdmin. Om du använder kommandoradsterminalen finns det en bekväm metod för att ladda ner den senaste versionen av alla språk.
För att ladda ner phpMyAdmin-arkivet, kör följande kommando i terminalen.
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
Om du föredrar att ladda ner enbart den engelska versionen av phpMyAdmin, ersätt slutraden på föregående kommando med följande:
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz
Efter att ha laddat ner phpMyAdmin-arkivet är nästa steg att extrahera det genom att utföra följande kommando:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
Konfigurera phpMyAdmin
Det efterföljande steget innebär att alla extraherade filer flyttas till sin slutdestination i standardkatalogen /var/www/ med hjälp av mv-kommandot.
sudo mv phpMyAdmin-*/ /var/www/phpmyadmin
Att installera phpMyAdmin från källan kräver inte en TMP-katalog som standard. Som ett resultat måste du skapa den här katalogen manuellt.
sudo mkdir /var/www/phpmyadmin/tmp
phpMyAdmin-katalogen innehåller en standardfil för konfigurationsexempel. Byt namn på den här filen så att phpMyAdmin känner igen den. Använd kommandot CP för att säkerhetskopiera standardfilen, skapa en kopia i katalogen /var/www/phpmyadmin/.
För att kopiera config.sample.inc.php till config.inc.php, kör följande kommando:
sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
När du har kopierat filen öppnar du den med din föredragna textredigerare. Nanotextredigeraren är ett exempel:
sudo nano /var/www/phpmyadmin/config.inc.php
phpMyAdmin använder ett Blowfish-chiffer. För att komma åt denna inställning, scrolla ner till raden som börjar med $cfg['blowfish_secret'].
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
Du måste tilldela 32 slumpmässiga tecken inom de enkla citattecken. Det enklaste sättet att generera denna sträng är att använda programmet pwgen. För att installera pwgen, kör följande terminalkommando:
sudo apt install pwgen
Efter installationen, kör följande kommando:
pwgen -s 32 1
Detta ger dig en sträng med 32 slumpmässiga tecken att använda som blåsfiskens hemlighet, till exempel:
Exempel på att lägga till chiffer i konfigurationsfilen (Kopiera inte):
$cfg['blowfish_secret'] = 'GO4GpscnhJbzB3HN7dgqvRzdIvIxXaaq'
För de flesta användare räcker standardinställningarna. Men om din server finns på en annan server i ditt nätverk, lokalisera och ändra raden $cfg['Servers'][$i]['host'] för att återspegla den privata IP-adressen. Se exemplet nedan:
$cfg['Servers'][$i]['host'] = '192.168.55.101';
Konfigurera filbehörigheter för phpMyAdmin
Att ställa in katalogägarens behörigheter för www-användare är viktigt för att säkerställa kompatibilitet och säkerhet.
Så här ställer du in chown-behörigheten:
sudo chown -R www-data:www-data /var/www/phpmyadmin/
Så här ställer du in chmod-behörigheten:
sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;
Skapa Nginx Server Block för phpMyAdmin
Skapa ett Nginx-serverblock för att komma åt webbgränssnittet phpMyAdmin. För säkerhet och för att förhindra brute-force-attacker rekommenderar vi att du upprättar en separat underdomän, som du kan namnge efter eget gottfinnande.
För att börja skapa och öppna ditt serverblock med nanotextredigeraren, som visas nedan:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Efter att ha öppnat serverblockfilen kan du klistra in följande text i filen. Se till att ersätta domänens URL med din egen:
server {
listen 80;
listen [::]:80;
server_name pma.example.com;
root /var/www/phpmyadmin/;
index index.php index.html index.htm index.nginx-debian.html;
access_log /var/log/nginx/phpmyadmin_access.log;
error_log /var/log/nginx/phpmyadmin_error.log;
location / {
try_files $uri $uri/ /index.php;
}
location ~ ^/(doc|sql|setup)/ {
deny all;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /\.ht {
deny all;
}
}
Ovanstående exempel innehåller några viktiga anmärkningar:
- /run/php/php8.1-fpm.sock; – Detta måste ändras för att återspegla din PHP-FPM-version, såsom 8.0, 7.4, etc.
- root /var/www/phpmyadmin/; – Det här är vägen som anges i handledningen. Denna rad måste uppdateras om du placerar phpMyAdmin på en annan plats.
Om du är den enda personen som kommer åt servern från en statisk IP-adress kan du lägga till följande kod ovanför den första platsposten. Ett exempel på detta ges nedan:
allow <your ip address>;
deny all;
location / {
try_files $uri $uri/ /index.php;
}
...........................................
Detta kommer att blockera alla obehöriga besökare på sidan med ett 403-fel, vilket endast tillåter åtkomst från din IP-adress. Detta kan effektivt stoppa brute force-attacker men kanske inte är lämpligt för alla inställningar. För att spara ändringarna, använd (CTRL+O) och avsluta editorn med (CTRL+X).
Skapa en symbollänk från katalogen som är tillgänglig för webbplatser till katalogen som är aktiverad för webbplatser för att lagra konfigurationsfilen.
sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
Innan du startar om Nginx-tjänsten är det viktigt att utföra ett torrkörningstest, särskilt i levande miljöer, för att säkerställa att serverblockeringen eller andra ändringar av dina konfigurationsfiler inte resulterar i Nginx-fel.
sudo nginx -t
Om din konfiguration är felfri bör du få följande utdata:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
För att implementera ändringarna, starta om din Nginx-tjänst:
sudo systemctl restart nginx
Öppna webbgränssnittet för phpMyAdmin
För att komma åt webbgränssnittet, öppna din föredragna webbläsare och skriv in pma.example.com, ersätt "exempel" med din domän. Du bör komma till inloggningsskärmen för phpMyAdmin, som visas nedan:
Ange dina inloggningsuppgifter och fortsätt till phpMyAdmin-instrumentpanelen, som du kan se ett exempel på nedan.
Det är värt att notera att statistiksidan också är tillgänglig för nya phpMyAdmin-användare.
En annan användbar sida att vara medveten om är rådgivaresystemet.
Rådgivaren rekommenderar att du väntar 24 timmar men överväg minst 72 timmar. Lita inte enbart på rådgivaresidan; göra ändringar efter noggrant övervägande och testning. Att optimera MySQL- eller MariaDB-konfigurationsfiler kräver tid, och du kan behöva redigera och testa flera gånger för att uppnå önskat resultat.
Säker installation av phpMyAdmin LEMP via SSL
Att köra Nginx på HTTPS med ett SSL-certifikat är idealiskt för bästa säkerhet. Det enklaste sättet att åstadkomma detta är att använda Let's Encrypt, en gratis, automatiserad och öppen certifikatmyndighet som drivs av den ideella Internet Security Research Group (ISRG).
För att starta, installera certbot-paketet med följande kommando:
sudo apt install python3-certbot-nginx -y
Efter installation av certbot-paketet, kör följande kommando för att initiera certifikatskapande:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pma.example.com
Under certifikatinstallationen kommer systemet att uppmana dig att ta emot e-postmeddelanden från EFF (Electronic Frontier Foundation). Välj Y eller N. Detta val kommer att utlösa den automatiska installationen och konfigurationen av ditt TLS-certifikat med optimala inställningar. Dessa inställningar inkluderar HTTPS 301-omdirigeringar, en Strict-Transport-Security-rubrik och OCSP-häftning, allt skräddarsytt för din e-post och ditt domännamn. När den har installerats kommer din URL att övergå från HTTP://pma.example.com till den säkra HTTPS://pma.example.com, vilket automatiskt omdirigerar den gamla HTTP-adressen till den säkra versionen.
För extra bekvämlighet kan du ställa in ett cron-jobb för att förnya dina certifikat automatiskt, och Certbot tillhandahåller ett skript för att hantera detta automatiskt. Innan du ställer in detta kan du utföra ett torrkörningstest för att säkerställa att allt fungerar korrekt.
sudo certbot renew --dry-run
För att öppna crontab-fönstret, kör följande terminalkommando:
sudo crontab -e
Se till att du kontrollerar för förnyelse dagligen för att upprätthålla ett uppdaterat certifikat. Om förnyelse krävs kommer skriptet att uppdatera certifikatet automatiskt.
00 00 */1 * * /usr/sbin/certbot-auto renew
Slutsats
Genom hela den här guiden gick vi igenom installationen av phpMyAdmin med Nginx på Ubuntu 24.04, 22.04 eller 20.04 LTS, vilket gjorde resan från grunderna i kommandoraden till att få igång ditt databashanteringssystem så smidigt som möjligt. Kom ihåg att att hålla din programvara uppdaterad och säkra din phpMyAdmin-installation är avgörande steg som inte bör förbises. En välkonfigurerad installation förbättrar ditt arbetsflöde och stärker din data mot potentiella hot. Så ta en stund att klappa dig själv på axeln för att lägga till ytterligare ett verktyg till din webbutvecklingsarsenal. Dyk gärna djupare in i funktionerna och funktionerna som phpMyAdmin erbjuder. Lycka till med ledningen!
Användbara länkar
Här är några värdefulla länkar relaterade till att använda phpMyAdmin och relaterade verktyg:
- phpMyAdmin officiella webbplats: Besök den officiella phpMyAdmin-webbplatsen för information om databashanteringsverktyget, funktioner och nedladdningsalternativ.
- phpMyAdmin dokumentation: Få tillgång till omfattande dokumentation för detaljerade guider om att installera, konfigurera och använda phpMyAdmin.
- phpMyAdmin-teman: Utforska tillgängliga teman för att anpassa utseendet på phpMyAdmin.
- phpMyAdmin GitHub Repository: Gå till phpMyAdmin GitHub-förvaret för att se källkoden, rapportera problem och bidra till utvecklingen.
Relaterade verktyg
- MariaDB officiella webbplats: Besök MariaDB-webbplatsen för information om databassystemet, nedladdningsalternativ och communityresurser.
- MySQL officiella webbplats: Gå till MySQL-webbplatsen för produktinformation, funktioner och nedladdningsalternativ.
- PHP officiella webbplats: Utforska PHP-webbplatsen för dokumentation, installationsguider och resurser för PHP-utveckling.