WordPress is zonder twijfel het meest gebruikte blogplatform ter wereld. Maar de tool kan voor veel meer worden gebruikt dan alleen bloggen. Met de juiste toevoeging van extensies kunt u WordPress omvormen tot een e-commercesite, een multimediasite en nog veel meer. Als je zelf een server hebt, kun je een WordPress-installatie hosten, zonder dat je daarvoor een derde partij hoeft in te schakelen. En dat is precies wat we hier gaan doen. In deze zelfstudie leert u hoe u de benodigde componenten en het WordPress-platform installeert op Ubuntu Server 18.04. Dit veronderstelt maar één ding: dat u Ubuntu Server in gebruik hebt.
afhankelijkheden
Het eerste dat u moet doen, is onze LAMP-server (Linux Apache MySQL PHP) in gebruik nemen. Aangezien Ubuntu er al is, hoeft u alleen maar de secundaire componenten te installeren. Omdat we Ubuntu gebruiken, kan dit met een enkele opdracht. Voordat we dat doen, willen we er echter zeker van zijn dat onze server up-to-date is. Open een terminalvenster en geef de volgende opdrachten: sudo apt-get update
sudo apt-get upgrade
type=”code”> Mocht de kernel tijdens het proces geüpgraded worden, dan is een herstart nodig. Als dat het geval is, moet de server opnieuw worden opgestart (zodat de wijzigingen van kracht worden). Dit betekent dat u de update/upgrade moet uitvoeren op een moment dat opnieuw opstarten mogelijk is. Nu de update/upgrade achter de rug is, is het tijd om de web-/databaseservers en PHP te installeren. Dit kan met een enkele opdracht: sudo apt install apache2 php mariadb-server
type=”code”> Tijdens de installatie wordt u gevraagd een wachtwoord aan te maken/verifiëren voor de MySQL-beheerder. Wanneer het proces is voltooid, kunt u een browser verwijzen naar http://SERVER_IP (waarbij SERVER_IP het IP-adres van uw Ubuntu-server is) om het welkomstscherm van Apache te zien. Vervolgens moeten we een paar noodzakelijke PHP-extensies installeren. Dit kan met het commando: sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
type=”code”>
SSL inschakelen
Voordat we ingaan op de configuratie van Apache en de installatie van WordPress, gaan we onze server voorbereiden om SSL (Secure Sockets Layer) te gebruiken, dit zijn verschillende webprotocollen die samenwerken om normaal HTTP-verkeer in een beschermde, versleutelde wrapper te verpakken . Dus HTTP wordt HTTPS. Aangezien ik alleen een testserver aan het opzetten ben, maak ik een zelfondertekend SSL-certificaat voor een IP-adres. Volg hiervoor deze stappen. Genereer het SSL-certificaat met de volgende opdracht: sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned .crt
type=”code”> Wanneer u die opdracht uitvoert, moet u de volgende vragen beantwoorden:
Landnaam (2-letterige code) [AU]:
Naam staat of provincie (volledige naam) [Some-State]:
Plaatsnaam (bijv. stad) []:
Naam organisatie (bijv. bedrijf)[]
Naam organisatie-eenheid (bijv. sectie) []:
Algemene naam (bijv. server FQDN of UW naam) []:
E-mailadres []:
Voor het zelfondertekende certificaat is het belangrijk dat u bij Common Name het IP-adres van uw server invoert. Vervolgens configureren we Apache om SSL te gebruiken. Maak een nieuw bestand met het commando: sudo nano /etc/apache2/conf-available/ssl-params.conf
type=”code”> Plak het volgende in dat nieuwe bestand: SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol Alle -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherBestellen op
# Schakel het voorladen van HSTS voorlopig uit. U kunt de uitgecommentarieerde kopregel gebruiken die bevat:
# de “preload”-richtlijn als u de implicaties begrijpt.
# Header zet altijd Strict-Transport-Security “max-age=63072000; includeSubDomains; preload”
Header altijd X-Frame-Options DENY
Header altijd X-Content-Type-Options nosniff
# Vereist Apache >= 2.4
SSLCompressie uit
SSLGebruikNieten aan
SSLStaplingCache “shmcb:logs/stapling-cache(150000)”
# Vereist Apache >= 2.4.11
SSLSessionTickets Uit
type=”code”> Nu gaan we een nieuw standaard-ssl.conf-bestand maken. Voordat we dat doen, maakt u een back-up van het origineel met het commando: sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak
type=”code”> Maak het nieuwe bestand met het commando: sudo nano /etc/apache2/sites-available/default-ssl.conf
type=”code”> Plak in dat nieuwe bestand het volgende:
Serverbeheerder YOUR_EMAIL
Servernaam SERVER_IP
DocumentRoot /var/www/html
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
SSL-opties +StdEnvVars
SSL-opties +StdEnvVars
type=”code”> Bewaar en sluit dat bestand. Nu gaan we een omleiding instellen zodat al het HTTP-verkeer automatisch wordt omgeleid naar HTTPS. Maak hiervoor een nieuw bestand aan met het commando: sudo nano /etc/apache2/sites-available/000-default.conf
type=”code”> Voeg in dat bestand de volgende regel toe onder het DocumentRoot-item: Redirect “/” “https://SERVER_IP/”
type=”code”> Waarbij SERVER_IP het IP-adres van uw server is. Sla dat bestand op en sluit het. Vervolgens moeten we een paar modules en hosts inschakelen met de commando’s: sudo a2enmod ssl
sudo a2enmod-headers
sudo a2ensite standaard-ssl
sudo a2enconf ssl-params
type=”code”> Start Apache ten slotte opnieuw met het commando: sudo systemctl restart apache2
type=”code”> U zou nu in staat moeten zijn om uw browser naar https://SERVER_IP te verwijzen (waarbij SERVER_IP het IP-adres van uw server is) en nog steeds het Apache-welkomstscherm te zien.
De databank
Voordat u begint met het opzetten van uw database, moet u de ingebouwde functie van MariaDB/MySQL gebruiken om uw nieuwe installatie te beveiligen. Voer de opdracht uit en accepteer de standaardinstellingen om uw database te beveiligen. Stel desgevraagd een veilig wachtwoord in voor de rootgebruiker van de database. sudo mysql_secure_installation
Zodra dat is voltooid, bent u klaar om met MariaDB te gaan werken met behulp van het “mysql” -commando. WordPress is afhankelijk van een database om te functioneren. Om dat te maken, moet u eerst inloggen op de MySQL-prompt met het commando: sudo mysql -u root -p
type=”code”> U wordt gevraagd om het MySQL-beheerderswachtwoord dat u tijdens de installatie van de LAMP-server hebt aangemaakt. Maak bij de MySQL-prompt de database aan met de opdracht: CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
type=”code”> Maak vervolgens een nieuwe gebruiker aan en geef die gebruiker toestemming om toegang te krijgen tot de database met het commando: GRANT ALL ON wordpress.* TO ‘wordpressuser’@’localhost’ IDENTIFICEERD DOOR ‘PASSWORD’;
type=”code”> Waar PASWOORD een uniek, sterk wachtwoord is. Spoel de database-privileges door en sluit af met de commando’s: FLUSH PRIVILEGES;
UITGANG
type=”code”>
Sta .htaccess toe en schakel de herschrijfmodule in
We moeten .htaccess inschakelen voor WordPress. Maak hiervoor een nieuw Apache-configuratiebestand met het commando: sudo nano /etc/apache2/sites-available/wordpress.conf
type=”code”> Plak in dat bestand het volgende:
ToestaanAlles overschrijven
type=”code”> Schakel de herschrijfmodule in met het commando: sudo a2enmod rewrite
type=”code”> Start Apache opnieuw met het commando: sudo systemctl restart apache2
type=”code”>
WordPress downloaden, uitpakken en voorbereiden
We gaan het officiële WordPress-bestand downloaden met de volgende opdrachten: cd /tmp
curl -O https://wordpress.org/latest.tar.gz
type=”code”> Pak WordPress uit met het commando: tar xvzf nieuwste.tar.gz
type=”code”> Maak een dummy .htaccess-bestand met het commando: touch /tmp/wordpress/.htaccess
type=”code”> Kopieer het voorbeeldconfiguratiebestand naar het benodigde configuratiebestand met het commando: cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
type=”code”> Maak een upgrademap aan (om machtigingsproblemen te voorkomen) met het commando: mkdir /tmp/wordpress/wp-content/upgrade
type=”code”> Kopieer de inhoud van de wordpress-map naar de hoofdmap van het document met het commando: sudo cp -a /tmp/wordpress/. /var/www/html/wordpress
type=”code”> Pas ten slotte het eigendom en de rechten van de nieuw verplaatste wordpress-map aan met de opdrachten: sudo chown -R www-data:www-data /var/www/wordpress
sudo find /var/www/wordpress/ -type d -exec chmod 750 {} ;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} ;
type=”code”>
WordPress configureren
Dit gedeelte wordt een beetje ingewikkeld. Het wp-config.php-bestand moet worden bewerkt, maar voordat dat kan worden gedaan, moet u unieke geheime sleutels downloaden om aan het configuratiebestand toe te voegen. Om die sleutels te krijgen, gaat u naar de online generator van de WordPress-ontwikkelaars. Dit levert een aantal lange strings op, elk gekoppeld aan een specifieke configuratie-optie. Elke tekenreeks is gekoppeld aan de volgende waarden in het configuratiebestand:
INLOGCODE
SECURE_AUTH_KEY
LOGGED_IN_KEY
NONCE_KEY
AUTH_SALT
SECURE_AUTH_SALT
LOGGED_IN_SALT
NONCE_SALT
Kopieer die waarden naar een ander bestand. Open vervolgens het WordPress-configuratiebestand met het commando: sudo nano /var/www/wordpress/wp-config.php
type=”code”> Zoek de bovenstaande waarden en plak de geheime sleutel voor elk. Blader daarna omhoog en bewerk de waarden voor:
DB_NAME
DB_USER
DB_PASSWORD
De bovenstaande waarden zijn eerder gemaakt (met MySQL). Sla dat bestand op en sluit het.
Voltooi de installatie
U kunt nu met uw browser naar https://SERVER_IP/wordpress gaan en door het webgebaseerde installatieprogramma lopen om de installatie te voltooien. Na een paar klikken en een beetje typen, is uw exemplaar van WordPress actief.