Android

Kako instalirati drupal na centos 7

*** POGLEDAJ OPIS SNIMKA *** Operativni sistemi - 038 - CentOS 7 - Instalacija

*** POGLEDAJ OPIS SNIMKA *** Operativni sistemi - 038 - CentOS 7 - Instalacija

Sadržaj:

Anonim

Drupal je jedna od vodećih open source CMS platformi u svijetu. To je fleksibilan, skalabilan i može se koristiti za izradu različitih vrsta web stranica, od malih osobnih blogova do velikih korporativnih, političkih i vladinih web mjesta.

U ovom ćemo udžbeniku objasniti kako instalirati Drupal 8.6 na CentOS 7.

Postoji više načina za instaliranje Drupala. Ovaj vodič opisuje korake potrebne za instaliranje Drupala koristeći predložak kompozitora za Drupal projekte nazvane drupal-project.

Koristit ćemo Nginx kao web poslužitelj, najnoviji PHP 7.2 i MySQL / MariaDB kao poslužitelj baze podataka.

Preduvjeti

Prije pokretanja instalacije provjerite jeste li ispunili sljedeće preduvjete:

  • Ime domene pokazuje na IP vašeg javnog poslužitelja. Koristit ćemo example.com Ugradite Nginx. Za vašu domenu instalirajte SSL certifikat. Možete instalirati besplatni Let's Encrypt SSL certifikat slijedeći ove upute.Uključeni ste kao korisnik s povlasticama sudo.

Stvorite MySQL bazu podataka

Prvi korak je stvaranje nove baze podataka i korisničkog računa te dodjeljivanje odgovarajućih dozvola korisniku.

Ako su na vašem poslužitelju već instalirani MySQL ili MariaDB, ovaj korak možete preskočiti, ako ne, možete instalirati MariaDB 5.5 poslužiteljski paket iz zadanih spremišta CentOS-a tako da upišete:

sudo yum install mariadb-server Za svježe instalacije MariaDB / MySQL preporučuje se pokretanje naredbe mysql_secure_installation radi poboljšanja sigurnosti vašeg poslužitelja baze podataka.

Prijavite se na MySQL školjku tako da upišete sljedeću naredbu i na upit unesete lozinku:

mysql -u root -p

Za izradu baze podataka pod nazivom drupal , korisnik nazvan drupaluser i dodijeljenje potrebnih dozvola korisniku pokrenite sljedeće naredbe:

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';

Instalirajte PHP

CentOS 7 se isporučuje s PHP verzijom 5.4, koja je zastarjela i više nije podržana. Preporučena verzija PHP-a za Drupal je PHP 7.2.

Da bismo prvo instalirali PHP 7.2 na CentOS 7, moramo omogućiti EPEL i Remi spremišta:

sudo yum install epel-release yum-utils sudo yum install sudo yum-config-manager --enable remi-php72

Nakon što se spremištima omogući instalacija PHP 7.2 i sva potrebna PHP proširenja izvršavaju sljedeće naredbe:

sudo yum install php-cli php-fpm php-mysql php-json php-opcache php-mbstring php-xml php-gd php-curl git

Instalirali smo PHP FPM jer ćemo Nginx koristiti kao web poslužitelj.

PHP FPM će se prema zadanom izvoditi kao korisnički apache na priključku 9000. Korisnika ćemo promijeniti u nginx i prebaciti se iz TCP socket u Unix socket. Da biste to učinili, otvorite /etc/php-fpm.d/www.conf datoteku i uredite crte označene žutom bojom:

/etc/php-fpm.d/www.conf

… user = nginx… group = nginx… listen = /run/php-fpm/www.sock… listen.owner = nginx listen.group = nginx

Provjerite da li /var/lib/php imenik ima ispravno vlasništvo pomoću sljedeće naredbe chown:

sudo chown -R root:nginx /var/lib/php

Konačno, omogućite i pokrenite PHP FPM uslugu:

sudo systemctl enable php-fpm sudo systemctl start php-fpm

Instalirajte Composer

Skladatelj je menadžer ovisnosti za PHP. Preuzet ćemo Drupal predložak i instalirati sve potrebne Drupal komponente s skladateljem.

Sljedeća naredba globalno će instalirati skladatelja preuzimanjem instalacijskog programa Composer sa curl i pomicanjem datoteke u /usr/local/bin direktorij:

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

Provjerite instalaciju pokretanjem sljedeće naredbe koja će ispisati verziju skladatelja:

composer --version

Izlaz bi trebao izgledati ovako:

Composer version 1.8.4 2019-02-11 10:52:10

Instalirajte Drupal

Sada kada je skladatelj instaliran, kreirajte novi Drupal projekt koristeći Drupal predložak unutar /var/www/my_drupal direktorija:

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

Gornja naredba preuzet će predložak, dohvatiti sve potrebne php pakete i pokrenuti skripte potrebne za pripremu projekta za instalaciju. Proces može trajati nekoliko minuta, a ako je uspješan, kraj rezultata će izgledati ovako:

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

Sljedeći je korak instalacija Drupala pomoću Drush-a. U naredbi ispod prenosimo MySQL bazu podataka i korisničke podatke koje smo stvorili u prvom odjeljku:

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

Instalacijski program će vas obavijestiti sljedećom porukom, samo pritisnite enter za nastavak.

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

Nakon što je instalacija dovršena, skripta će ispisati administrativno korisničko ime i lozinku. Izlaz bi trebao izgledati ovako:

Starting Drupal installation. This takes a while. Installation complete. User name: admin User password: frxka2Db5v

Na kraju, postavite ispravna dopuštenja tako da web poslužitelj može imati potpuni pristup datotekama i mapama web mjesta:

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

Konfigurirajte Nginx

Do sad ste već trebali instalirati Nginx sa SSL certifikatom na vaš sustav, ako ne provjerite preduvjete za ovaj vodič.

Za stvaranje novog bloka poslužitelja za naš novi Drupal projekt koristit ćemo Nginx recept s službenog web mjesta Nginx.

Otvorite uređivač teksta i stvorite sljedeću datoteku:

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; } } Ne zaboravite zamijeniti example.com s domenom Drupal i postaviti ispravan put do datoteka s SSL certifikatima. Svi HTTP zahtjevi bit će preusmjereni na HTTPS. Isječci korišteni u ovoj konfiguraciji kreirani su u ovom vodiču.

Prije ponovnog pokretanja usluge Nginx napravite test da biste bili sigurni da nema sintakse:

sudo nginx -t

Ponovno pokrenite Nginx uslugu da bi promjene stupile na snagu ako upišete:

sudo systemctl restart nginx

Ispitajte instalaciju

Otvorite preglednik, utipkajte domenu i pod pretpostavkom da je instalacija uspješna, pojavit će se zaslon sličan sljedećem:

Možete se prijaviti kao administrator i započeti prilagodbu svoje nove instalacije Drupal.

Instalirajte Drupal module i teme

Sada kada imate instaliran svoj Drupal projekt, htjet ćete instalirati neke module i teme. Drupal moduli i teme nalaze se u spremištu prilagođenog skladatelja, koje drupal-projekt konfigurira za nas izvan okvira.

Da biste instalirali modul ili temu, sve što trebate učiniti je cd na direktorij projekta i upisati composer require drupal/module_or_theme_name . Na primjer, ako želimo instalirati Pathauto modul, moramo pokrenuti sljedeću naredbu:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Prependirajući sudo -u nginx , izvršavamo naredbu kao korisnik 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

Kao što možete vidjeti iz rezultata, skladatelj nam također instalira sve ovisnosti o paketu.

Ažurirajte Drupal Core

Prije nadogradnje dobra je ideja uzeti sigurnosnu kopiju datoteka i baze podataka. Možete koristiti modul sigurnosne kopije i migracije ili sigurnosno kopirati bazu podataka i datoteke ručno.

Za sigurnosno kopiranje instalacijskih datoteka možete upotrijebiti sljedeću naredbu rsync, naravno, morat ćete koristiti ispravan put do instalacijske mape:

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

Za sigurnosno kopiranje baze podataka možemo koristiti standardnu ​​naredbu mysqldump :

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

ili drush sql-dump :

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

Sada, kada smo stvorili sigurnosnu kopiju, možemo nastaviti i ažurirati sve datoteke Drupal jezgre izvođenjem sljedeće naredbe:

sudo -u nginx /usr/local/bin/composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies

Zaključak

Čestitamo, uspješno ste instalirali Drupal 8 koristeći composer i naučili kako instalirati module i teme. Sada možete započeti s prilagođavanjem web lokacije. Vodič za korisnike Drupal 8 dobro je početno mjesto za više informacija o upravljanju instalacijom Drupala. Također, ne zaboravite posjetiti projekt predloška Drupal Composer na Githubu.

centos drupal mysql mariadb cms nginx skladatelj