Android

Centos 7'ye drupal nasıl kurulur

Drupal 7 Tema Yükleme ve Tema Ayarları | TürkçeDrupal.org

Drupal 7 Tema Yükleme ve Tema Ayarları | TürkçeDrupal.org

İçindekiler:

Anonim

Drupal, dünyanın önde gelen açık kaynaklı CMS platformlarından biridir. Esnek, ölçeklenebilir ve küçük kişisel bloglardan büyük kurumsal, politik ve hükümet sitelerine kadar farklı web siteleri oluşturmak için kullanılabilir.

Bu derste, Drupal 8.6'nın CentOS 7'ye nasıl kurulacağını açıklayacağız.

Drupal'ı kurmanın birden çok yolu vardır. Bu kılavuz, drupal projesi adı verilen Drupal projeleri için bir besteci şablonu kullanarak Drupal'ı kurmak için gerekli adımları kapsar.

Nginx'i web sunucusu olarak, en son PHP 7.2'yi ve MySQL / MariaDB'yi veritabanı sunucusu olarak kullanacağız.

Ön şartlar

Kuruluma başlamadan önce aşağıdaki ön koşulları karşıladığınızdan emin olun:

  • Genel sunucu IP'nizi işaret eden bir alan adınız olsun. example.com kullanacağız. Nginx yüklü olsun, alan adınız için bir SSL sertifikası yüklü olsun. Bu talimatları izleyerek ücretsiz bir Let's Encrypt SSL sertifikası yükleyebilirsiniz. Sudo ayrıcalıklarına sahip bir kullanıcı olarak oturum açın.

MySQL veritabanı oluşturma

İlk adım, yeni bir veritabanı ve kullanıcı hesabı oluşturmak ve kullanıcıya uygun izinleri vermektir.

Sunucunuzda MySQL veya MariaDB zaten kuruluysa, bu adımı atlayabilirsiniz, eğer değilse MariaDB 5.5 sunucu paketini CentOS'un varsayılan depolarından şu şekilde yazabilirsiniz:

sudo yum install mariadb-server Yeni MariaDB / MySQL kurulumlarında, veritabanı sunucunuzun güvenliğini artırmak için mysql_secure_installation komutunu çalıştırmanız önerilir.

Aşağıdaki komutu yazarak MySQL kabuğuna giriş yapın ve istendiğinde parolayı girin:

mysql -u root -p

drupaluser adlı bir veritabanı oluşturmak için, drupaluser adlı kullanıcı ve kullanıcıya gerekli izinleri vermek için aşağıdaki komutları çalıştırın:

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

PHP Yükle

CentOS 7, eski ve artık desteklenmeyen PHP 5.4 sürümüyle birlikte gelir. Drupal için önerilen PHP sürümü PHP 7.2'dir.

PHP 7.2'yi CentOS 7'ye kurmak için önce EPEL ve Remi depolarını etkinleştirmeliyiz:

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

Depolar PHP 7.2'yi yüklemek için etkinleştirildikten ve gerekli tüm PHP uzantıları aşağıdaki komutları çalıştırır:

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

PHP FPM'yi kurduk çünkü Nginx'i bir web sunucusu olarak kullanacağız.

Varsayılan olarak PHP FPM, bağlantı noktası 9000'de kullanıcı apache olarak çalışacaktır. Kullanıcıyı nginx değiştireceğiz ve TCP soketinden Unix soketine geçeceğiz. Bunu yapmak için /etc/php-fpm.d/www.conf dosyasını açın ve sarı renkle vurgulanan satırları düzenleyin:

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

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

/var/lib/php dizininin aşağıdaki chown komutunu kullanarak doğru sahipliğe sahip olduğundan emin olun:

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

Son olarak, PHP FPM hizmetini etkinleştirin ve başlatın:

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

Besteciyi Yükle

Composer, PHP için bir bağımlılık yöneticisidir. Drupal şablonunu indireceğiz ve besteci ile gerekli tüm Drupal bileşenlerini kuracağız.

Aşağıdaki komut, Composer yükleyicisini curl ile indirip dosyayı /usr/local/bin dizinine taşıyarak composer'ı global olarak kuracaktır:

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

Besteci sürümünü yazdıracak olan aşağıdaki komutu çalıştırarak kurulumu doğrulayın:

composer --version

Çıktı şöyle görünmelidir:

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

Drupal'ı yükle

Artık besteci yüklendi, /var/www/my_drupal dizinindeki Drupal şablonunu kullanarak yeni bir Drupal projesi oluşturun:

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

Yukarıdaki komut, şablonu indirecek, gerekli tüm php paketlerini getirecek ve projeyi kuruluma hazırlamak için gerekli komut dosyalarını çalıştıracaktır. İşlem birkaç dakika sürebilir ve başarılı olursa çıktının sonu şu şekilde görünür:

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

Sonraki adım Drupal'ı Drush kullanarak kurmaktır. Aşağıdaki komutta, MySQL veritabanını ve ilk bölümde oluşturduğumuz kullanıcı bilgilerini aktarıyoruz:

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

Yükleyici sizden aşağıdaki mesajı soracaktır, devam etmek için sadece enter tuşuna basın.

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

Yükleme tamamlandığında komut dosyası yönetici kullanıcı adını ve parolasını yazdıracaktır. Çıktı aşağıdaki gibi görünmelidir:

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

Son olarak, web sunucusunun sitenin dosyalarına ve dizinlerine tam erişime sahip olması için doğru izinleri ayarlayın:

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

Nginx'i Yapılandır

Şimdiye kadar, bu eğitim için önkoşulları kontrol etmiyorsanız, sisteminizde zaten SSL sertifikalı Nginx yüklü olmalıdır.

Yeni Drupal projemiz için yeni bir sunucu bloğu oluşturmak için resmi Nginx sitesinden Nginx tarifini kullanacağız.

Metin düzenleyicinizi açın ve aşağıdaki dosyayı oluşturun:

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; } } Example.com'u Drupal alan adınızla değiştirmeyi ve SSL sertifika dosyalarına doğru yolu ayarlamayı unutmayın. Tüm HTTP istekleri HTTPS'ye yönlendirilecektir. Bu yapılandırmada kullanılan snippet'ler bu kılavuzda oluşturulur.

Nginx hizmetini yeniden başlatmadan önce, sözdizimi hatalarının olmadığından emin olmak için bir test yapın:

sudo nginx -t

Değişikliklerin etkili olması için Nginx hizmetini yeniden başlatın:

sudo systemctl restart nginx

Kurulumu Test Edin

Tarayıcınızı açın, alan adınızı yazın ve yüklemenin başarılı olduğunu varsayarak aşağıdakine benzer bir ekran görünecektir:

Yönetici olarak oturum açabilir ve yeni Drupal kurulumunuzu özelleştirmeye başlayabilirsiniz.

Drupal Modüllerini ve Temalarını Yükleme

Artık Drupal projenizi yüklediniz, bazı modülleri ve temaları yüklemek isteyeceksiniz. Drupal modülleri ve temaları, drupal projesinin bizim için kutudan çıktığı gibi yapılandırıldığı özel bir besteci deposunda barındırılmaktadır.

Bir modül veya tema yüklemek için tek yapmanız gereken proje dizinine cd ve composer require drupal/module_or_theme_name . Örneğin, Pathauto modülünü kurmak istiyorsak, aşağıdaki komutu çalıştırmamız gerekir:

cd /var/www/my_drupal sudo -u nginx /usr/local/bin/composer require drupal/pathauto Sudo sudo -u nginx başlangıcında komutu nginx kullanıcısı olarak çalıştırıyoruz

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

Yukarıdaki çıktıdan da görebileceğiniz gibi, besteci de bizim için tüm paket bağımlılıklarını yükler.

Drupal Çekirdeğini Güncelle

Yükseltmeden önce, dosyalarınızın ve veritabanınızın yedeğini almak her zaman iyi bir fikirdir. Yedekle ve Taşı modülünü kullanabilir veya veritabanınızı ve dosyalarınızı manuel olarak yedekleyebilirsiniz.

Kurulum dosyalarını yedeklemek için aşağıdaki rsync komutunu kullanabilirsiniz, elbette kurulum dizinine doğru yolu kullanmanız gerekir:

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

Veritabanını yedeklemek için standart mysqldump komutunu kullanabiliriz:

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

veya drush sql-dump :

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

Şimdi bir yedek oluşturduğumuza göre, aşağıdaki komutu çalıştırarak tüm Drupal çekirdek dosyalarını devam ettirebilir ve güncelleyebiliriz:

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

Sonuç

Tebrikler, besteci kullanarak Drupal 8'i başarıyla yüklediniz ve modül ve temaların nasıl kurulacağını öğrendiniz. Artık sitenizi özelleştirmeye başlayabilirsiniz. Drupal 8 Kullanım Kılavuzu, Drupal kurulumunuzu nasıl yöneteceğiniz hakkında daha fazla bilgi edinmek için iyi bir başlangıç ​​noktasıdır. Ayrıca, Github'daki Drupal Composer şablon projesini ziyaret etmeyi unutmayın.

centos drupal mysql mariadb cms nginx besteci