Installera Apache, php, MySQL och phpMyAdmin i Ubuntu

Unix
Apache är en av de vanligast förekommande webservrarna idag. Här går vi igenom hela processen med att installera Apache, php, MySQL och phpMyAdmin i Ubuntu.

Visningar:

88

Betyg:

0
(0)

Svårighetsgrad:

Ganska enkelt

Tidsåtgång:

15-25min

För den här guiden behöver du

  • Ubuntu


Inledning

Det här har väl kanske inte så mycket med hemautomatisering att göra, men faktum är att jag skriver guiderna för min egen skull – eftersom jag vet att det kommer en dag då jag måste göra om alla installationer.

Ifall du behöver en webbserver internt på ditt nätverk

Ladda hem och installera Apache

Det är förvånansvärt enkelt, men det enda som behövs för att både ladda hem och installera Apache är ett enda kommando:

sudo apt-get install apache2

Sen kan det vara trevligt om Apache startar automatiskt när du startar om din Ubuntuserver:

sudo systemctl enable apache2.service

Installera och konfigurera MySQL

Installera MySQL

Själva installationen är lika enkel som för Apache:

sudo apt-get install mysql-server

Aktivera autostart

sudo systemctl enable mysql.service

Konfigurera MySQL

Starta konfigurationen med detta kommando:

sudo mysql_secure_installation

Du kommer nu bli frågad ifall du vill starta guiden för säkra lösenord:

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

Tryck Y för att påbörja lösenordsprocessen.

Lösenordspolicy

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG:

Tryck 2 för att välja alternativet STRONG.

Välj lösenord

Du kommer nu bli ombedd att välja lösenord för root-användaren (högsta administratörsnivån, därav begreppet att ”roota” sin telefon). Se till att välja ett lösenord du kommer ihåg eller skriv ner det!

Please set the password for root here.

New password:

Re-enter new password:

Lösenordsstyrka

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) :

Efter att du verifierat ditt lösenord kommer styrkan att beräknas och sen blir du frågad ifall du vill gå vidare med det lösenordet, tryck Y ifall du är nöjd med styrkan.

Anonym inloggning

By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL 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? (Press y|Y for Yes, any other key for No) :

Tryck Y för att inaktivera anonym inloggning.

Fjärrinloggning

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? (Press y|Y for Yes, any other key for No) :

Tryck Y för att inaktivera fjärrinloggning (vi kommer snart att installera phpMyAdmin så du kommer kunna hantera databaserna därifrån).

Testdatabas

By default, MySQL 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? (Press y|Y for Yes, any other key for No) :

Tryck Y för att radera testdatabasen.

Ladda om behörigheterna

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) :

Tryck Y för att ladda om behörighetsdatabasen.

Ladda hem och installera php

Till att börja med, låt oss ta diskussionen om php’s ”vara eller icke vara” någon annanstans, någon annan gång – vissa hatar php, andra älskar det.

Ifall du är ovan att arbeta i Unixbaserade operativsystem bör du läsa wikiartikeln ”Några enkla grunder i Unix” innan du går vidare!

Ladda hem php och pluginet gmp med dessa två kommandon:

sudo apt-get install php libapache2-mod-php

sudo apt-get install php-gmp

Nu kan det vara lämpligt att testa så att php fungerar, skriv följande kommando för att skapa filen info.php:

sudo vim /var/www/html/info.php

Filen ska innehålla det här:

<?php phpinfo(); ?>

Nu tar du fram webbläsaren på din arbetsdator och surfar till adressen http://[DIN UBUNTUSERVERS IP]/info.php

Installera phpMyAdmin

phpMyAdmin ger dig ett grafiskt gränssnitt för att hantera dina MySQL-databaser, så att du slipper krångla med att skriva kod i konsollen varje gång du ska förändra något.

Börja med att uppdatera dina repositorys med detta kommando:

sudo apt update

Ladda nu hem och installera phpMyAdmin och dess behov:

sudo apt install phpmyadmin php-mbstring php-gettext

(Använd mellanslag för att markera apache2, tryck enter och välj Yes. Välj sen ett lösenord)

Aktivera tillägget mbstring med hjälp av:

sudo phpenmod mbstring

Starta om Apache-tjänsten:

sudo systemctl restart apache2

Säkra upp phpMyAdmin

Om du är ovan med att arbeta i Unixbaserade operativsystem bör du läsa wikiartikeln ”Några enkla grunder i Unix” innan du går vidare.

phpMyAdmin är inte känt för att vara vattentätt och det har funnits incidenter där någon ondsint person hittat en svaghet / bugg och lyckats härja runt en del, därför applicerar vi lite säkerhet på installationen!

Börja med att gå in i MySQL:

sudo mysql

Kör detta kommando för att göra så att lösenord är enda tillåtna sättet för rootanvändaren att logga in:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[DITT ROOTLÖSENORD]';

Nu måste vi läsa in behörigheterna på nytt:

FLUSH PRIVILEGES;

Avsluta MySQL genom att skriva exit

Redigera configfilen för phpMyAdmin:

sudo vim /etc/apache2/conf-available/phpmyadmin.conf

Lägg till AllowOverride All i sektionen <Directory /usr/share/phpmyadmin> så att det blir att se ut såhär:

<Directory /usr/share/phpmyadmin>
	Options FollowSymLinks
	DirectoryIndex index.php
	AllowOverride All

Spara och avsluta som vanligt

Starta om Apache:

sudo systemctl restart apache2

Skapa en .htaccess-fil för phpMyAdmin:

sudo vim /usr/share/phpmyadmin/.htaccess

Innehållet ska vara:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Skapa ett användarkonto för att kunna surfa till phpMyAdmin:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd [ANGE ETT ANVÄNDARNAMN HÄR]

Ange sedan ditt önskade lösenord

Det vi gjort nu är att lägga till lösenordskontroll för att ens få komma till inloggningen för phpMyAdmin, på så vis hindrar vi ondsinta personer från att bygga script som är anpassade för att penetrera PMA’s inloggning – som du förövrigt hittar på http://[DIN UBUNTUSERVERS IP]/phpmyadmin

Hur bra var den här guiden?

Klicka på en stjärna för att betygsätta

Betyg 0 / 5. Antal röster 0

Bli först med att betygsätta denna guide!

Eftersom du tyckte den här guiden var bra...

Följ oss på sociala medier, så missar du inte nästa guide!

Jag beklagar att du inte var nöjd med guiden!

Hjälp mig att göra bättre guider i framtiden.

Vad saknades / vad var fel?

Lämna ett svar