Introductie
Drupal is een van de meest geprefereerde Content Management Systemen (CMS) voor het beheren van blogs en enterprise content. Ontwikkelaars en bedrijven verkiezen het vanwege de robuustheid en bruikbaarheid. Het is zeer aanpasbaar en kan worden uitgebreid om een breed scala aan use cases te implementeren.
In deze handleiding laten we zien hoe je Drupal installeert op Ubuntu 20.04 met Apache.
Vereisten
Aangezien we Drupal op Ubuntu gaan installeren, moeten we de nieuwste versie van Ubuntu geïnstalleerd hebben. Je kunt onze handleiding voor het installeren van Ubuntu volgen als je dat nog niet hebt gedaan. We hebben ook PHP, MySQL, en Apache geïnstalleerd en klaar voor gebruik nodig. Als je deze nog niet hebt geïnstalleerd, kun je onze handleiding bekijken voor de LAMP Stack setup – Linux Apache MySQL PHP.
Voordat we beginnen met het downloaden en instellen van Drupal op onze machine, moeten we enkele aanpassingen in ons systeem doorvoeren. Nu PHP, MySQL en Apache zijn geïnstalleerd, kunnen we beginnen met het configureren van ons systeem voor de installatie van Drupal.
MySQL-gebruiker en database gereedmaken
Drupal vertrouwt op een MySQL-database voor het opslaan van gegevens en configuratie. We zullen een speciale gebruiker en database instellen zodat onze Drupal-omgeving geïsoleerd is. Dit helpt ons ook om onze applicatie te beveiligen. We maken een nieuwe gebruiker en database aan. Log eerst in op de MySQL-server door de onderstaande opdracht in de terminal uit te voeren:
|
1 |
mysql -u root -p |
Voer de gebruikersnaam en het wachtwoord van MySQL in. Zodra je bent ingelogd, voer je de onderstaande opdracht uit om een nieuwe database aan te maken. Laten we deze drupal:
|
1 |
CREATE DATABASE drupal; |
Vervolgens moet je een nieuwe gebruiker aanmaken om verbinding te maken met deze database. We noemen deze drupaluser. Zorg ervoor dat je een sterk wachtwoord invoert. Voer de onderstaande opdracht uit om een nieuwe gebruiker aan te maken:
|
1 |
CREATE USER drupaluser@localhost IDENTIFIED BY 'password'; |
Onze gebruiker heeft rechten nodig om bewerkingen op deze database uit te voeren. Het verlenen van alle rechten stelt onze applicatie echter bloot aan beveiligingsrisico's. Daarom verlenen we hier de benodigde rechten door de onderstaande opdracht uit te voeren:
|
1 |
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER,CREATE TEMPORARY TABLES,LOCK TABLES ON drupal.* TO drupaluser@localhost; |
Zodra je de rechten hebt verleend, kunnen we verdergaan. Voer de onderstaande opdracht uit om de rechten te vernieuwen, zodat ze direct van kracht worden:
|
1 |
FLUSH PRIVILEGES; |
Sluit daarna MySQL af door de onderstaande opdracht uit te voeren:
|
1 |
exit |
PHP-modules installeren en configureren
Drupal heeft PHP-modules nodig om te werken. We downloaden deze uit de officiële Ubuntu-repository. Werk je lokale pakketcache bij door de onderstaande opdracht uit te voeren:
|
1 2 |
sudo apt-get update sudo apt-get install php5-gd php5-curl libssh2-php |
Vervolgens zullen we enkele aanpassingen aanbrengen in de PHP-modules volgens de aanbeveling van Drupal. Open het PHP-configuratiebestand met de onderstaande opdracht:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Schakel beide variabelen expose_php en allow_url_fopen uit:
|
1 2 3 4 5 |
. . . expose_php = Off . . . allow_url_fopen = Off . . . |
Sla het bestand op en sluit het. Je bent nu klaar om verder te gaan.
Htaccess-bestanden aanpassen in Apache
Drupal moet URL's aanpassen zodat ze logischer zijn voor gebruikers. Hiervoor heeft het toegang nodig om URL's te herschrijven. Gelukkig is de module mod_rewrite om te herschrijven standaard aanwezig in Apache. We hoeven deze alleen maar in te schakelen. Voer de onderstaande opdracht uit om deze module in te schakelen:
|
1 |
sudo a2enmod rewrite |
Vervolgens moeten we de instellingen voor de virtuele host bijwerken. Dit moeten we doen zodat Drupal toegang heeft tot het .htaccess bestand. Open het virtualhost bestand door de onderstaande opdracht uit te voeren:
|
1 |
sudo nano /etc/apache2/sites-enabled/000-default.conf |
Binnen de virtualhost instelling, voeg de map toe die naar onze web-root verwijst. Hier, AllowOverride naar All. Als u een domeinnaam heeft, kunt u de ServerName richtlijn toevoegen, en de ServerAdmin richtlijn wijzigen om een geldig e-mailadres weer te geven:
|
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> . . . ServerName example.com ServerAdmin webmaster@example.com DocumentRoot /var/www/html <Directory /var/www/html> AllowOverride All </Directory> . . . </VirtualHost> |
Sla het bestand op en sluit het. We zijn nu helemaal klaar. We hoeven alleen Apache en PHP te herstarten om de wijzigingen effectief te laten worden:
|
1 |
sudo service apache2 restart |
Drupal installeren
Hier gaan we Drupal installeren op de web-root. We pakken de Drupal-bestanden uit en maken een kopie. Daarna kopiëren we deze gekopieerde bestanden naar de gewenste map. Dit geeft ons een back-up van de bestanden, mocht er iets misgaan.
Om Drupal te downloaden, open https://www.drupal.org/project/drupal. Onder de Recommended releases sectie moet u de gewenste release zoeken. Kopieer vervolgens het adres van het tar.gz-bestand. Op uw server kunt u dit bestand downloaden met behulp van het hulpprogramma wget hulpprogramma. Voer de onderstaande opdracht uit in de terminal om het gekopieerde linkadres op te halen:
|
1 2 |
cd ~ wget <uw link> |
Zodra het bestand is gedownload, pakt u de applicatiemap uit door het volgende te typen:
|
1 |
tar xzvf drupal* |
Ga nu naar de nieuw gemaakte map met de onderstaande opdracht:
|
1 |
cd drupal* |
Kopieer alle bestanden in deze map naar de web-root door de onderstaande opdracht uit te voeren:
|
1 |
sudo rsync -avz . /var/www/html |
Zodra de bestanden zijn gekopieerd, gaat u naar de web-root door de onderstaande opdracht uit te voeren:
|
1 |
cd /var/www/html |
Drupal-bestanden eenvoudig te installeren en veilig maken
Als we Drupal installeren via een webgebaseerd installatiescript, hebben we wijzigingen in de Drupal-map nodig. Dit dwingt ons om te schakelen tussen de browser en de opdrachtregel. Hoewel we het ook op deze manier kunnen installeren, is een betere optie om aanpassingen aan onze bestanden aan te brengen en dit gedoe te elimineren.
Maak een nieuwe map aan onder de sub-tree sites/default genaamd files:
|
1 |
mkdir /var/www/html/sites/default/files |
Kopieer het standaard instellingenbestand naar de bestandsnaam die Drupal gebruikt voor de actieve configuratie:
|
1 |
cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php |
Om de installatie te voltooien, moeten we het actieve instellingenbestand wat meer rechten geven. Dit zullen we later ongedaan maken. Voer de onderstaande opdracht uit om de schrijfrechten te geven aan de groep eigenaar:
|
1 |
chmod 664 /var/www/html/sites/default/settings.php |
Geef groepseigendom van onze bestanden aan de webgebruiker, wat in Ubuntu www-data is. Onze hele Drupal-installatie vereist deze eigendomseigenschappen:
|
1 |
sudo chown -R :www-data /var/www/html/* |
We kunnen nu verder gaan.
De webgebaseerde installatie voltooien
Vanaf nu gebruiken we de browser. De stappen zullen eenvoudig en snel zijn. Voer in uw browser het domein/IP van de server in:
|
1 |
http://server_domain_or_ip/ |
U ziet de welkomstpagina van Drupal:

In de meeste gevallen is Standaard de standaardoptie. Kies Handmatig als uw use-case dit specifiek vereist. Klik na het selecteren van Standaard op Opslaan en doorgaan. U krijgt nog een aantal prompts te zien. Blijf klikken op Volgende en de standaardopties accepteert, totdat u de databaseconfiguratiepagina bereikt. Op deze pagina wordt u om database-informatie gevraagd. Voer de gebruiker en wachtwoord en database in op deze pagina die we hierboven hebben gebruikt:

Klik op Save and Continue. Als u wordt omgeleid naar dezelfde databaseconfiguratiepagina, vernieuwt u gewoon de pagina. De database-instellingen worden geconfigureerd en het profiel wordt geïnstalleerd.
U wordt om nog wat meer informatie over de website gevraagd. Er verschijnt ook een melding bovenaan die aangeeft dat het in orde is om de machtigingen van het instellingenbestand te wijzigen. We doen dit slechts voor korte tijd en draaien de wijzigingen daarna weer terug. We willen onze website niet in gevaar brengen. Voer de vereiste informatie voor de website in:

We moeten nog een keer op Save and Continue klikken om de installatie te voltooien. Open uw site door uw IP/domein in te typen. U ziet de welkomstpagina:

Hier eindigt de Drupal-installatie. Nu zullen we de machtigingen voor onze instellingen terugdraaien om ongeoorloofd gebruik te voorkomen. Beperk dit door de onderstaande opdracht in de terminal uit te voeren:
|
1 |
chmod 644 /var/www/html/sites/default/settings.php |
Probleemoplossing
We moeten ervoor zorgen dat de Drupal-installatie is voltooid. Als de laatste stap niet is voltooid, voert u de onderstaande opdracht uit:
|
1 |
sudo tail /var/log/apache2/error.log |
Dit opent het log-bestand. Controleer vervolgens of u het onderstaande logboek in het bestand kunt vinden:
|
1 2 |
PHP Fatal error: Call to undefined function field_attach_load() in /var/www/html/includes/entity.inc on line 316, referer: http://12.34.56.78/install.php?profile=standard&locale=en sh: 1: /usr/sbin/sendmail: not found |
Als de bovenstaande regels aanwezig zijn, geeft dit aan dat onze installatie niet succesvol is. Om deze fout te verwijderen, heeft Drupal een aanwijzing gegeven in hun document hier: https://www.drupal.org/node/481758
Een veelvoorkomende reden voor de bovengenoemde fout is max_execution_time. Om dit te verhogen, opent u het php.ini-bestand met de onderstaande opdracht:
|
1 |
sudo nano /etc/php5/apache2/php.ini |
Zoek vervolgens naar max_execution_time en wijzig dit als volgt:
|
1 |
max_execution_time = 300 |
Omdat we onze eigen database gebruiken, moeten we de standaarddatabase van Drupal en het bestaande PHP-instellingenbestand verwijderen /var/www/html/default/settings.php. Vervang ze daarna door de standaardkopieën en begin de installatie opnieuw. Vergeet niet om uit voorzorg back-ups te maken.
Om de bestaande Drupal-database te verwijderen, logt u in op de MySQL-database en voert u de onderstaande opdracht uit:
|
1 |
DROP DATABASE drupal; |
Maak vervolgens de database aan en verleen de rechten zoals hierboven beschreven. Een andere optie is om cp /var/www/html/sites/default/default.settings.php /var/www/html/sites/default/settings.php opnieuw uit te voeren om het instellingenbestand te vervangen. Zorg ervoor dat u ook de chmod 664 /var/www/html/sites/default/settings.php-opdracht uitvoert om de juiste machtigingen ook weer in te stellen. Ga nu naar uw IP-adres en probeer de installatie opnieuw.
Conclusie
In deze handleiding hebben we geleerd hoe u Drupal instelt op uw machine met Ubuntu. Dit geeft u een solide basis om aan de slag te gaan met Drupal CMS. Met een Drupal-installatie kunt u uw website beheren, die in hoge mate aanpasbaar is zonder dat u alles vanaf nul hoeft te coderen.
Voor meer informatie over een ander handig CMS, WordPress, kunt u de volgende handleidingen bekijken:
- Hoe u WordPress implementeert met Docker-containers op Ubuntu 20.04
- Hoe u WordPress installeert met LAMP op Ubuntu 20.04
- Waarom u zou moeten kiezen voor WordPress Cloud Hosting voor uw website?
- Hoe u een website migreert van WordPress naar CloudSigma PaaS
Veel plezier met computeren!
Reacties
Nog geen reacties. Wees de eerste.