Kako namestiti Drupal z Apachejem na Debian in Ubuntu


Razvoj vašega spletnega mesta iz nič je lahko zastrašujoča naloga. Zamudno in drago je, če nameravate najeti razvijalca. Enostaven način, kako svoj spletni dnevnik ali spletno stran spraviti na tla, je uporaba sistema za upravljanje vsebin (CMS), kot je Drupal.

Drupal je odprtokodni sistem za upravljanje vsebin (CMS), napisan v PHP in izdan pod GPL. Prvič je bil izdan januarja 2001 za oskrbo osebnih spletnih dnevnikov, spletnih mest podjetij in vseh spletnih mest, ki jih ljudje morda potrebujejo. Danes je Drupal eden najbolj znanih sistemov za upravljanje vsebin na svetu, ki vodi milijone spletnih strani po vsem svetu.

Najnovejša različica Drupala v času pisanja tega priročnika je Drupal 9.

  1. Brezplačna in odprtokodna.
  2. Osnovne funkcije, kot so možnost objavljanja objav, strani in sistema komentarjev, RSS RSS, registracija uporabnikov. namestite in spremenite predloge in dodatke.
  3. Več kot 30000 modulov, ki jih lahko brezplačno prenesete iz trgovine Drupal.
  4. Na voljo v več kot 110 jezikih s podporo za RTL jezike, kot je arabščina.
  5. Podpora za več spletnih mest in podpora za urejanje in ustvarjanje vsebin za več uporabnikov.
  6. Podpora za ustvarjanje spletnih dnevnikov, forumov, anket z uporabo privzeto nameščenih modulov.
  7. Zelo dobro posodobljen sistem za obveščanje o varnostnih posodobitvah.
  8. Številne druge funkcije.

V tem priročniku bomo Drupal namestili v Debian 10/9 in Ubuntu 20.04/18.04.

Ker je Drupal PHP-jev CMS, do katerega uporabniki dostopajo s čelne strani, morate imeti na svojem primerku Debian/Ubuntu nameščen sklad LAMP. LAMP je sklop programske opreme, ki se uporablja za testiranje in uvajanje spletnih strani in vsebuje 3 glavne komponente:

  • Spletni strežnik Apache.
  • Strežnik zbirke podatkov MariaDB.
  • PHP (za Drupal 9, PHP 7.3 in novejše različice je priporočljiva).

Z izpolnjenimi zahtevami začnimo!

1. korak: Namestite Apache, MariaDB in PHP

1. Za namestitev Drupala boste potrebovali delujoči spletni strežnik in strežnik baz podatkov, v tem članku bomo sodelovali z Apachejem, PHP-jem in MariaDB-jem. Lahko jih enostavno namestite s pomočjo orodja za upravljanje paketov, imenovanega apt.

$ sudo apt install apache2 mariadb-server mariadb-client php libapache2-mod-php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-intl php-mbstring php-curl php-xml php-pear php-tidy php-soap php-bcmath php-xmlrpc 

2. Na produkcijskih strežnikih morate omogočiti nekatere osnovne varnostne ukrepe za namestitev zbirke podatkov MariaDB, tako da zaženete naslednji varnostni skript, ki je priložen paketu MariaDB.

$ sudo mysql_secure_installation

Po zagonu skripta vas popelje skozi vrsto vprašanj, kjer lahko odgovorite yes (y) , da omogočite nekatere osnovne varnostne možnosti, kot je prikazano.

  • Vnesite trenutno geslo za root (vnesite za nobenega): Enter
  • Želite nastaviti korensko geslo? [D/n] y
  • Želite odstraniti anonimne uporabnike? [D/n] y
  • Želite onemogočiti prijavo za root na daljavo? [D/n] y
  • Želite odstraniti testno bazo podatkov in dostop do nje? [D/n] y
  • Želite zdaj znova naložiti tabele s privilegiji? [D/n] y

To je to, uspešno ste namestili vse zahtevane pakete in dodali tudi geslo MySQL. Zdaj je čas, da gremo naprej in ustvarimo bazo podatkov za namestitev drupala.

2. korak: Ustvarite Drupal bazo podatkov

3. Za našo namestitev Drupala bomo morali ustvariti bazo podatkov, za to pa zaženite naslednji ukaz za povezavo z lupino mysql.

$ sudo mysql -u root -p

Opomba: Pozval vas bo, da vnesete korensko geslo MySQL, ki ste ga nastavili med varovanjem paketa MySQL, ga vnesete in boste pozvani k terminalu mysql.

4. Nato na terminalu MySQL zaženite naslednjo serijo ukazov, da ustvarite nove "drupal" pravice uporabnika, baze podatkov in dodelite pravice.

## Creating New User for Drupal Database ##
MariaDB [(none)]> CREATE USER drupal@localhost IDENTIFIED BY "your_password_here";

## Create New Database ##
MariaDB [(none)]> create database drupal;

## Grant Privileges to Database ##
MariaDB [(none)]> GRANT ALL ON drupal.* TO drupal@localhost;

## FLUSH privileges ##
MariaDB [(none)]> FLUSH PRIVILEGES;

## Exit ##
MariaDB [(none)]> exit

Opomba: Če želite, lahko uporabniško ime in ime baze podatkov nadomestite s katerim koli drugim imenom.

3. korak: Prenesite in namestite Drupal v Ubuntu

5. Drupal je na voljo za prenos iz uradnega repozitorija Ubuntu/Debian kot paket, vendar je to stara različica Drupala, ki ima veliko varnostnih ranljivosti, trenutna različica Drupal pa je 9.0.6), zato jo bomo prenesli Drupal z uradne spletne strani

Lahko pa uporabite naslednji ukaz wget, da neposredno zgrabite najnovejšo različico.

$ sudo wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

6. Nato izvlecite datoteko tarball in stisnjeno mapo drupal premaknite na pot /var/www/html , kot je prikazano.

$ sudo tar -xvf drupal.tar.gz
$ sudo mv drupal-9.0.6 /var/www/html/drupal

7. Za dostopnost drupala dodelite prikazana dovoljenja:

$ sudo chown -R www-data:www-data /var/www/html/drupal/
$ sudo chmod -R 755 /var/www/html/drupal/

4. korak: Ustvarite Apache Drupal Virtual Host

8. Zadnji del konfiguracije zahteva, da za naše spletno mesto Drupal izdelamo datoteko navideznega gostitelja Apache. Nadaljujte in ustvarite datoteko navideznega gostitelja, kot je prikazano:

$ sudo vim /etc/apache2/sites-available/drupal.conf

Spodnjo vsebino prilepite.

<VirtualHost *:80>
     ServerAdmin [email 
     DocumentRoot /var/www/html/drupal/
     ServerName  example.com  
     ServerAlias www.example.com

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

     <Directory /var/www/html/drupal/>
            Options FollowSymlinks
            AllowOverride All
            Require all granted
     </Directory>

     <Directory /var/www/html/>
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    </Directory>
</VirtualHost>

Nato shranite in zapustite konfiguracijsko datoteko.

9. Ko je nameščen navidezni gostitelj, ga moramo omogočiti s pomočjo spodnjih ukazov:

$ sudo a2ensite drupal.conf
$ sudo a2enmod rewrite

10. Nato znova zaženite spletni strežnik Apache, da bodo spremembe uporabljene.

$ sudo systemctl restart apache2

6. korak: Nastavite Drupal iz brskalnika

11. V tem koraku zaključimo namestitev Drupala tako, da ga nastavimo v spletnem brskalniku. Zaženite brskalnik in pojdite na naslov IP strežnika, kot je prikazano:

http://www.server-ip/
OR
http://www.example.com/

12. Na strani, ki se prikaže, izberite želeni jezik in kliknite gumb ‘Shrani in nadaljuj’.

13. Naslednji korak vam ponuja 3 namestitvene profile, ki jih lahko izkoristite. Če želite, da so zadeve enostavne in enostavne, izberite prvo možnost, ki je Standardni profil, in pritisnite gumb »Shrani in nadaljuj«.

14. V naslednjem koraku izpolnite podrobnosti baze podatkov.

15. Kmalu zatem se začne namestitev vseh potrebnih datotek. To traja približno 5 minut in nekaj potrpljenja bo dovolj.

16. Izpolnite vsa obvezna polja o vašem spletnem mestu, kot so ime spletnega mesta, e-poštni naslov spletnega mesta, lokacija in časovni pas.

17. Na koncu boste dobili privzeto nadzorno ploščo za Drupal, kot je prikazano:

Od tu lahko začnete ustvarjati lastno odzivno in elegantno spletno stran z uporabo razpoložljivih tem ali izkoriščanjem vrhunskih Drupal tem. To je vse, kar smo imeli danes. Upamo, da boste lahko Drupal udobno nastavili na Debian 10/9 in Ubuntu 20.04/18.04.