Curso de Drupal | Crea tu página web con Drupal 8 | cap. 0 | Introducción.
Sisällysluettelo:
- edellytykset
- Luo MySQL-tietokanta
- Asenna PHP
- Asenna säveltäjä
- Asenna Drupal
- Määritä Nginx
- Testaa asennus
- Asenna Drupal-moduulit ja teemat
- Päivitä Drupal Core
- johtopäätös
Drupal on yksi johtavista avoimen lähdekoodin CMS-alustoista maailmanlaajuisesti. Se on joustava, skaalautuva ja sitä voidaan käyttää erityyppisten verkkosivustojen rakentamiseen pienistä henkilökohtaisista blogeista suuriin yritys-, poliittisiin ja julkisiin sivustoihin.
Tässä opetusohjelmassa selitetään kuinka Drupal 8.6 asennetaan CentOS 7: een.
Drupalin asentamiseen on useita tapoja. Tämä opas kattaa tarvittavat vaiheet Drupalin 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 ennen asennuksen aloittamista, että olet täyttänyt seuraavat edellytykset:
- Saa verkkotunnuksen osoittamaan julkisen palvelimen IP-osoitteeseen. Käytämme
example.com
.On Nginx asennettu.On asennettu verkkotunnuksellesi SSL-varmenne. Voit asentaa ilmaisen Let's Encrypt SSL -sertifikaatin noudattamalla näitä ohjeita.Kirjautuneena sisään käyttäjänä, jolla on sudo-oikeudet.
Luo MySQL-tietokanta
Ensimmäinen askel on uuden tietokannan ja käyttäjätilin luominen ja asianmukaisten oikeuksien myöntäminen käyttäjälle.
Jos MySQL tai MariaDB on jo asennettu palvelimellesi, voit ohittaa tämän vaiheen, jos ei, voit asentaa MariaDB 5.5 -palvelinpaketin CentOS: n oletusvarastoista kirjoittamalla:
sudo yum install mariadb-server
Tuoreille MariaDB / MySQL-asennuksille on suositeltavaa suorittaa
mysql_secure_installation
komento tietokantapalvelimen turvallisuuden parantamiseksi.
Kirjaudu MySQL-shelliin kirjoittamalla seuraava komento ja kirjoittamalla 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';
Asenna PHP
CentOS 7 toimitetaan PHP-version 5.4 kanssa, joka on vanhentunut ja jota ei enää tueta. Drupalin suositeltava PHP-versio on PHP 7.2.
PHP 7.2: n asentamiseksi CentOS 7: een täytyy ensin ottaa käyttöön EPEL- ja Remi-säilytystilat:
sudo yum install epel-release yum-utils
sudo yum install
sudo yum-config-manager --enable remi-php72
Kun säilytystilat ovat saaneet asentaa PHP 7.2: n ja kaikki vaadittavat PHP-laajennukset suorittavat seuraavat komennot:
sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git
Asensimme PHP FPM: n, koska käytämme Nginxiä Web-palvelimena.
Oletuksena PHP FPM toimii käyttäjän
apache
muodossa portissa 9000. Vaihdamme käyttäjän
nginx
ja
nginx
TCP-liitännästä Unix-pistorasiaan. Avaa se
/etc/php-fpm.d/www.conf
ja muokkaa keltaisella korostettuja rivejä:
… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx
Varmista, että hakemistolla
/var/lib/php
on oikea omistajuus seuraavalla chown-komennolla:
sudo chown -R root:nginx /var/lib/php
Ota lopuksi käyttöön ja käynnistä PHP FPM -palvelu:
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Asenna säveltäjä
Säveltäjä on PHP: n riippuvuushallinta. Lataamme Drupal-mallin ja asennamme kaikki tarvittavat Drupal-komponentit säveltäjään.
Seuraava komento asentaa säveltäjän maailmanlaajuisesti lataamalla säveltäjän asennusohjelman lokilla ja siirtämällä tiedoston
/usr/local/bin
:
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Varmista asennus suorittamalla seuraava komento, joka tulostaa säveltäjän version:
composer --version
Lähdön tulisi näyttää noin:
Composer version 1.8.4 2019-02-11 10:52:10
Asenna Drupal
Nyt kun säveltäjä on asennettu, luo uusi Drupal-projekti käyttämällä Drupal-mallia hakemistossa
/var/www/my_drupal
:
sudo /usr/local/bin/composer create-project drupal-composer/drupal-project:8.x-dev /var/www/my_drupal --stability dev --no-interaction
Yllä oleva komento lataa mallipohjan, hakee kaikki vaadittavat php-paketit ja suorittaa skriptit, jotka ovat tarpeen projektin valmistelemiseksi asennusta varten. Prosessi voi viedä muutaman minuutin ja jos se onnistuu, lopputulos näyttää tältä:
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 ensimmäisessä osassa luomamme MySQL-tietokanta 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. Installation complete. User name: admin User password: frxka2Db5v
Aseta lopuksi oikeat käyttöoikeudet, jotta Web-palvelimella on täysi pääsy sivuston tiedostoihin ja hakemistoihin:
sudo chown -R nginx: /var/www/my_drupal
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/conf.d/example.com
/etc/nginx/conf.d/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' fastcgi_split_path_info ^(.+?\.php)(# 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.
Ennen kuin käynnistät Nginx-palvelun, tee testi varmistaaksesi, ettei syntaksivirheitä ole:
sudo nginx -t
Käynnistä Nginx-palvelu uudelleen, jotta muutokset tulevat voimaan kirjoittamalla:
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.
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 nginx /usr/local/bin/composer require drupal/pathauto
Ennustamalla
sudo -u nginx
suoritamme komennon käyttäjä
nginx
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.
Päivitä Drupal Core
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 nginx /usr/local/bin/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. Älä myöskään unohda käydä Drupal Composer -mallihankkeessa Githubissa.
centos drupal mysql mariadb cms nginx säveltäjäKuinka asentaa rocket.chat sentos 7: een
Tässä opetusohjelmassa näytämme sinulle kuinka asentaa ja ottaa käyttöön Rocket.Chat CentOS 7 -palvelimelle Nginxin ollessa SSL-käännösvälityspalvelin. Rocket.Chat on täydellinen tiimiviestintäalusta, itse isännöity Slack-vaihtoehto.
Kuinka asentaa apache maven sentos 7: een
Apache Maven on ilmainen ja avoimen lähdekoodin projektihallintatyökalu ja ymmärrystyökalu, jota käytetään pääasiassa Java-projekteihin. Tässä oppaassa näytämme kaksi eri tapaa asentaa Apache Maven CentOS 7: ään.
Kuinka asentaa nginx sentos 7: een
Nginx-lausunnolla 'moottori x' on ilmainen, avoimen lähdekoodin, erittäin suorituskykyinen HTTP- ja käänteinen välityspalvelin, joka vastaa joidenkin Internetin suurimpien sivustojen kuorman käsittelystä. Tämä opetusohjelma opettaa sinulle, kuinka asentaa ja hallita Nginxiä CentOS 7 -koneellesi.