Android

Kuinka asentaa drupal ubuntu 18.04: een

Raspberry Pi-tutoriaali

Raspberry Pi-tutoriaali

Sisällysluettelo:

Anonim

Drupal on yksi maailman suosituimmista avoimen lähdekoodin CMS-alustoista. Se on kirjoitettu PHP: llä ja sitä voidaan käyttää erityyppisten verkkosivustojen rakentamiseen aina pienistä henkilökohtaisista blogeista suuriin yritys-, poliittisiin ja julkisiin sivustoihin.

Tässä opetusohjelmassa näytämme sinulle kuinka asentaa Drupal 8.6 Ubuntu 18.04 -laitteeseen. Drupalin asentamiseen on useita tapoja. Tämä opetusohjelma kattaa vaiheet, jotka tarvitaan Drupal 8.6: n asentamiseen Drupal-projektien nimeltä Drupal-projektien säveltäjämallilla.

Käytämme Nginxiä verkkopalvelimena, viimeisintä PHP 7.2: ta ja MySQL / MariaDB: tä tietokantapalvelimena.

edellytykset

Varmista, että olet täyttänyt seuraavat ehdot, ennen kuin jatkat tätä opastusta:

  • Sinulla on verkkotunnus, joka osoittaa julkisen palvelimen IP-osoitteeseen. Käytämme example.com . Sinulla on Nginx asennettuna noudattamalla näitä ohjeita. Sinulla on SSL-varmenne asennettuna verkkotunnuksellesi. Voit asentaa ilmaisen Let's Encrypt SSL -sertifikaatin noudattamalla näitä ohjeita.

Ennen kuin aloitat

Päivitä pakettihakemisto ja järjestelmäpaketit uusimpiin versioihin:

sudo apt update && sudo apt upgrade

1. Luo MySQL-tietokanta

sudo apt install mysql-server Tuoreille MySQL-asennuksille on suositeltavaa suorittaa mysql_secure_installation komento MySQL-palvelimen turvallisuuden parantamiseksi.

Nyt meidän on kirjauduttava sisään MySQL-kuoreen ja luotava uusi tietokanta ja käyttäjätili sekä annettava käyttäjälle asianmukaiset myöntämisoikeudet.

Jos haluat kirjautua sisään MySQL-kuoreen, kirjoita seuraava komento ja kirjoita salasana pyydettäessä:

mysql -u root -p

Luodakseen tietokanta, jonka nimi on drupal , käyttäjän nimeltä drupaluser ja myöntämällä käyttäjälle tarvittavat käyttöoikeudet, suorittamalla seuraavat komennot:

CREATE DATABASE drupal CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES ON drupal.* TO 'drupaluser'@'localhost' IDENTIFIED BY 'change-with-strong-password';

2. Asenna PHP

PHP 7.2, joka on oletus-PHP-versio Ubuntu 18.04: ssä, on täysin tuettu ja suositeltava Drupal 8.6: lle. Koska käytämme Nginxiä web-palvelimena, asennamme myös PHP-FPM.

Asenna kaikki vaadittavat PHP-moduulit suorittamalla seuraava komento:

sudo apt install php7.2-cli php7.2-fpm php7.2-mysql php7.2-json php7.2-opcache php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

PHP-FPM-palvelu käynnistyy automaattisesti, kun asennus on valmis. Voit tarkistaa sen tulostamalla palvelun tilan:

systemctl status php7.2-fpm

Lähdön tulisi osoittaa, että fpm-palvelu on aktiivinen ja käynnissä.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2018-05-19 19:54:13 UTC; 9h ago Docs: man:php-fpm7.2(8) Main PID: 17781 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 507) CGroup: /system.slice/php7.2-fpm.service ├─17781 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf) ├─17796 php-fpm: pool www └─17797 php-fpm: pool www

3. Asenna säveltäjä

Composer on PHP: n riippuvuushallintaohjelma, jonka avulla lataamme Drupal-mallin ja asennamme kaikki tarvittavat Drupal-komponentit.

Asentaaksesi säveltäjän globaalisti lataa Composer-asennusohjelma curl-sovelluksella ja siirrä tiedosto /usr/local/bin :

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Varmista asennus tulostamalla säveltäjän versio:

composer --version

Lähdön tulisi näyttää noin:

Composer version 1.6.5 2018-05-04 11:44:59

4. Asenna Drupal

Nyt kun säveltäjä on asennettu, voimme jatkaa ja luoda uuden Drupal-projektin käyttämällä säveltäjämallia hakemistossa /var/www/my_drupal :

sudo composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction

Yllä oleva komento lataa mallin, hakee kaikki vaadittavat php-paketit ja suorittaa joitain komentosarjoja projektin valmistelemiseksi asennusta varten. Prosessi voi viedä muutaman minuutin, ja jos se onnistuu, lopputuloksen pitäisi näyttää seuraavalta:

Create a sites/default/settings.php file with chmod 0666 Create a sites/default/files directory with chmod 0777

Seuraava vaihe on Drupalin asentaminen Drushilla. Alla olevassa komennossa välitämme vaiheessa 1 luodut MySQL-tietokannat ja käyttäjätiedot:

cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal cd /var/www/my_drupal sudo vendor/bin/drush site-install --db-url=mysql://drupaluser:change-with-strong-password@localhost/drupal

Asennusohjelma kysyy seuraavaa viestiä, jatka painamalla Enter-painiketta.

You are about to DROP all tables in your 'drupal' database. Do you want to continue? (yes/no):

Kun asennus on valmis, skripti tulostaa järjestelmänvalvojan käyttäjänimen ja salasanan. Lähdön tulisi näyttää seuraavalta:

Starting Drupal installation. This takes a while. Consider using the --notify global option. Installation complete. User name: admin User password: XRkC9Q5WN9

Lopuksi meidän on asetettava oikeat käyttöoikeudet, jotta web-palvelimella on täysi pääsy sivuston tiedostoihin ja hakemistoihin. Sekä Nginx että PHP toimivat www-data käyttäjänä ja www-data , joten meidän on annettava seuraava komento:

sudo chown -R www-data: /var/www/my_drupal

5. Määritä Nginx

Nginxillä on jo jo oltava asennettuna järjestelmään SSL-varmenne Nginxillä, ellet tarkista tämän oppaan edellytyksiä.

Uuden palvelinlohkon luomiseksi uudelle Drupal-projektille käytämme Nginx-reseptiä viralliselta Nginx-sivustolta.

Avaa tekstieditori ja luo seuraava tiedosto:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/sites-available/example.com

# Redirect HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # Redirect WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; root /var/www/my_drupal/web; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/example.com.access.log; error_log /var/log/nginx/example.com.error.log; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ \..*/.*\.php$ { return 403; } location ~ ^/sites/.*/private/ { return 403; } # Block access to scripts in site files directory location ~ ^/sites/+/files/.*\.php$ { deny all; } # Block access to "hidden" files and directories whose names begin with a # period. This includes directories used by version control systems such # as Subversion or Git to store control files. location ~ (^|/)\. { return 403; } location / { try_files $uri /index.php?$query_string; } location @rewrite { rewrite ^/(.*)$ /index.php?q=$1; } # Don't allow direct access to PHP files in the vendor directory. location ~ /vendor/.*\.php$ { deny all; return 404; } location ~ '\.php$|^/update.php' /.*)$; include fastcgi_params; # Block httpoxy attacks. See https://httpoxy.org/. fastcgi_param HTTP_PROXY ""; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $query_string; fastcgi_intercept_errors on; fastcgi_pass unix:/run/php/php7.2-fpm.sock; # Fighting with Styles? This little gem is amazing. # location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6 location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7 try_files $uri @rewrite; } # Handle private files through Drupal. Private file's path can come # with a language prefix. location ~ ^(/+)?/system/files/ { # For Drupal >= 7 try_files $uri /index.php?$query_string; } location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ { try_files $uri @rewrite; expires max; log_not_found off; } } Muista korvata esimerkki.com Drupal-verkkotunnuksellasi ja määrittää oikea polku SSL-varmennetiedostoihin. Kaikki HTTP-pyynnöt ohjataan uudelleen HTTPS: lle. Tässä kokoonpanossa käytetyt katkelmat luodaan tässä oppaassa.

Ota palvelinlohko käyttöön luomalla symbolinen linkki sites-enabled hakemistoon:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Ennen kuin käynnistät Nginx-palvelun, tee testi varmistaaksesi, ettei syntaksivirheitä ole:

sudo nginx -t

Jos virheitä ei ole, tulosteen tulisi näyttää tältä:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Käynnistä lopuksi Nginx-palvelu uudelleen kirjoittamalla:

sudo systemctl restart nginx

6. Testaa asennus

Avaa selain, kirjoita verkkotunnuksesi ja olettaa, että asennus onnistuu, seuraavankaltainen näyttö tulee näkyviin:

Voit kirjautua sisään järjestelmänvalvojana ja aloittaa uuden Drupal-asennuksen mukauttamisen.

7. Asenna Drupal-moduulit ja teemat

Nyt kun olet asentanut Drupal-projektisi, haluat asentaa joitain moduuleja ja teemoja. Drupal-moduulit ja teemat isännöidään mukautetulla säveltäjän arkistolla, joka Drupal-projekti konfiguroi meille laatikosta.

Asentaaksesi moduulin tai teeman, sinun tarvitsee vain tallentaa cd projektihakemistoon ja kirjoittaa composer require drupal/module_or_theme_name . Jos esimerkiksi haluamme asentaa Pathauto-moduulin, meidän on suoritettava seuraava komento:

cd /var/www/my_drupal sudo -u www-data composer require drupal/pathauto Ennen sudo -u www-data ennakointia suoritamme komennon käyttäjän www-data

Using version ^1.3 for drupal/pathauto./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 3 installs, 0 updates, 0 removals - Installing drupal/token (1.5.0): Downloading (100%) - Installing drupal/ctools (3.2.0): Downloading (100%) - Installing drupal/pathauto (1.3.0): Downloading (100%) Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested. Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles

Kuten yllä olevasta tuotosta voidaan nähdä, säveltäjä asentaa meille myös kaikki pakettiriippuvuudet.

8. Päivitä Drupal-ydin

Ennen päivittämistä on aina hyvä idea ottaa varmuuskopio tiedostoista ja tietokannasta. Voit joko käyttää varmuuskopiointi- ja siirtomoduulia tai varmuuskopioida tietokannan ja tiedostojen manuaalisesti.

Varmuuskopioidaksesi asennustiedostot voit käyttää seuraavaa rsync-komentoa, tietysti sinun on käytettävä oikeaa polkua asennushakemistoon:

sudo rsync -a /var/www/my_drupal/ /var/www/my_drupal_$(date +%F)

Tietokannan varmuuskopioimiseksi voimme joko käyttää tavallista mysqldump komentoa:

mysqldump -u root -p > /var/www/my_drupal_database_$(date +%F).sql

tai drush sql-dump :

cd /var/www/my_drupal vendor/bin/drush sql-dump > /var/www/my_drupal_database_$(date +%F).sql

Nyt kun olemme luoneet varmuuskopion, voimme jatkaa ja päivittää kaikkia Drupalin ydintiedostoja suorittamalla seuraavan komennon:

sudo -u www-data composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

johtopäätös

Onnittelut, olet asentanut Drupal 8: n onnistuneesti säveltäjällä ja oppinut asentamaan moduuleja ja teemoja. Voit nyt aloittaa sivustosi mukauttamisen. Drupal 8 -käyttöopas on hyvä lähtökohta oppia lisää siitä, kuinka hallita Drupal-asennusta. Sinun pitäisi myös käydä Drupal Composer -mallihankkeessa Githubissa.

ubuntu drupal mysql mariadb cms nginx säveltäjä