GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Craft CMS dengan Nginx di Ubuntu 20.04

Craft CMS adalah sistem manajemen konten sumber terbuka gratis untuk situs web. Didukung oleh komunitas pengembang dan desainer yang besar dan berkembang, ia menawarkan berbagai fitur inovatif dengan desain elegan yang membuatnya mudah digunakan. Ini juga memungkinkan Anda untuk mengontrol setiap aspek pengembangan situs Anda.

Ini adalah alternatif yang bagus untuk WordPress dan Drupal, yang merupakan dua sistem manajemen konten paling populer yang digunakan saat ini.

Content Management System (CMS) adalah perangkat lunak yang digunakan untuk mempermudah pengelolaan konten web, seperti mengedit konten atau menambahkan halaman dan gambar baru. Mengoperasikan situs web bisa jadi sulit jika Anda perlu membuat setiap halaman satu per satu dalam kode menggunakan HTML atau bahasa markup lainnya; ini dapat menyebabkan masalah jika Anda memiliki beberapa orang yang bekerja di situs Anda sekaligus karena mungkin tidak ada kesepakatan tentang bagaimana elemen tertentu harus terlihat atau berperilaku.

Menggunakan CMS memungkinkan Anda untuk mengatur struktur umum setiap halaman serta elemen tertentu, seperti posting blog atau deskripsi produk; maka ketika orang lain perlu mengedit informasi itu, mereka hanya perlu menggunakan CMS.

Panduan ini menunjukkan cara menginstal Craft CMS di Ubuntu 20.04 LTS (Focal Fossa). Ini akan menunjukkan kepada Anda cara menginstal Craft CMS di server Ubuntu Anda. Jika Anda ingin menggunakan database MySQL/MariaDB, maka panduan ini akan membantu Anda menginstalnya juga.

Proses untuk menginstal Craft CMS di Ubuntu serupa terlepas dari distribusi dan versi yang Anda gunakan, jadi Anda harus dapat mengikuti panduan ini meskipun sistem Anda sedikit berbeda. Tutorial ini dibuat dengan mempertimbangkan instalasi Ubuntu yang baru; namun beberapa langkah mungkin sedikit berbeda tergantung pada penyiapan server Anda saat ini.

Prasyarat

Untuk mengikuti panduan ini, Anda memerlukan beberapa hal:

  • Server yang menjalankan Ubuntu 20.04 LTS.
  • Pengguna non-root dengan hak sudo yang diatur di server Ubuntu Anda.

Memulai

Memperbarui sistem Anda

Pertama, login ke server Anda sebagai pengguna non-root dengan menjalankan perintah di bawah ini:

ssh [email protected]_instance_ip

Nama pengguna adalah root, Anda terhubung ke server 'instance_ip' menggunakan protokol SSH

your_instance_ip adalah alamat IP pribadi server Anda tempat CMS Craft akan dipasang.

Perbarui sistem operasi Anda dengan menjalankan perintah di bawah ini: 

sudo apt update && sudo apt upgrade -y

Sudo apt update dijalankan untuk memastikan sistem Ubuntu Anda mutakhir. Perintah ini akan membuat Ubuntu mengunduh paket Ubuntu baru dari repositori Ubuntu dan menginstalnya di sistem operasi Ubuntu Anda. Ubuntu menggunakan repositori (atau lebih tepatnya, "repositori") yang merupakan pusat distribusi perangkat lunak tempat Ubuntu mendapatkan semua aplikasinya.

sudo apt upgrade adalah perintah Ubuntu untuk memperbarui dan memutakhirkan Perangkat Lunak Ubuntu. Ini meningkatkan perangkat lunak Ubuntu Anda yang mencakup pembaruan inti Ubuntu, paket yang diinstal, dan versi baru perangkat lunak Ubuntu.

-y adalah singkatan dari --yes. Perintah Ubuntu 'apt upgrade -y' berarti Ubuntu akan secara otomatis menjawab ya untuk setiap permintaan pembaruan perangkat lunak Ubuntu.

Jika Anda mendapatkan kesalahan saat menjalankan perintah ini, Anda mungkin perlu memperbaiki kesalahan dengan Pusat Perangkat Lunak Ubuntu atau melalui terminal. Anda dapat melakukannya dengan mengetik sudo apt-get -f install dan mengikuti petunjuk di Pusat Perangkat Lunak Ubuntu untuk memperbaiki semua masalah, atau Anda dapat menggunakan perintah Terminal "sudo dpkg --configure -a" untuk memperbaiki kesalahan dan kemudian jalankan kembali perintah di atas.

sudo apt-get -f install
sudo dpkg --configure -a

Contoh keluaran:

Menginstal dependensi 

Instal dependensi dengan menjalankan perintah di bawah ini:

sudo apt install -y curl wget vim git unzip socat 

curl adalah untuk Ubuntu untuk mengunduh pembaruan Ubuntu dari repositori Ubuntu. wget adalah perangkat lunak gratis yang didukung di Ubuntu dan sistem operasi Linux lainnya untuk mendapatkan file menggunakan protokol HTTP, HTTPS, dan FTP.

vim adalah editor teks berbasis Unix populer yang berjalan di hampir semua sistem Unix serta di Microsoft Windows.

Ubuntu menggunakan unzip untuk mengekstrak file dari file ZIP.

Ubuntu menggunakan socat, utilitas berbasis baris perintah untuk membuka koneksi antara dua aplikasi yang berbeda saat menggunakan aliran atau file input dan output standar.

Contoh keluaran:

Instal Server LEMP

Craft CMS ditulis dalam PHP dan menggunakan MySQL/MariaDB sebagai mesin database. Kami akan mengkonfigurasi Ubuntu untuk menggunakannya bersama-sama menggunakan "tumpukan LEMP". Tumpukan LEMP adalah akronim untuk Linux, server web Nginx, mesin database MySQL/MariaDB, dan bahasa pemrograman PHP.

Pertama, instal server Nginx dan MariaDB dengan menjalankan perintah berikut di terminal Anda:

sudo apt-get install nginx mariadb-server -y

Contoh keluaran:

Setelah keduanya terinstal, Anda dapat menginstal PHP dengan menjalankan perintah berikut di terminal Anda:

sudo apt-get install php php-cli php-fpm php-common php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

php-cli adalah antarmuka baris perintah untuk PHP, dan nama paket default adalah "php5" di masa lalu. Sekarang namanya diubah menjadi "php".

php-fpm adalah versi -tunggu dari php-cgi. Itu dapat menangani permintaan bersamaan dengan baik dan berguna untuk digunakan di belakang server proxy.

php-common adalah untuk library umum yang dibutuhkan oleh modul lain, mis., php-json diinstal secara otomatis saat kita menginstal "php".

php-curl adalah modul untuk mengakses URL melalui cURL (alat baris perintah yang mengirimkan permintaan HTTP).

Catatan :Ubuntu menggunakan Ubuntu Software Center untuk menginstal perangkat lunak Ubuntu. Namun, Pusat Perangkat Lunak Ubuntu tidak dapat mengunduh atau menginstal perangkat lunak pihak ketiga seperti beberapa paket Python (virtualenv dll) yang diperlukan oleh Craft CMS. Di Pusat Perangkat Lunak Ubuntu, Anda perlu menyalin &menempel secara manual perintah yang ditemukan di sini ke jendela Terminal dan ikuti petunjuknya.

Setelah menginstal semua paket, edit file php.ini di direktori Ubuntu etc/php/7.4/fpm:

sudo nano /etc/php/7.4/fpm/php.ini

Ubah konfigurasi berikut dalam file:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
date.timezone = Asia/Kolkata

memory_limit =512M dibutuhkan oleh Craft CMS, di Ubuntu 20.04 LTS , PHP tidak dapat mengubah memory_limit sendiri sehingga kita harus mengubahnya secara manual di file php.ini.

post_max_size =32M dan upload_max_filesize =32M diperlukan untuk mengunggah file gambar melalui CMS, Ubuntu 20.04 LTS telah menetapkan nilai post_max_size dan upload_max_filesize ke 16M secara default di file php.ini Ubuntu, Craft CMS membutuhkan 32M.

Craft CMS juga memerlukan date.timezone =Asia/Kolkata untuk menampilkan waktu dengan benar di Ubuntu 20.04 LTS. Ubuntu 20.04 LTS menggunakan UTC-5 sebagai zona waktu secara default, Craft CMS membutuhkan zona waktu dalam UTC+05:30 (Waktu Standar India).

Setelah mengedit file php.ini, simpan dan tutup file kemudian restart layanan PHP-FPM Ubuntu:

sudo systemctl restart php7.4-fpm

Untuk memeriksa status layanan PHP-FPM Ubuntu, masukkan perintah di bawah ini:

sudo systemctl status php7.4-fpm

Contoh keluaran:

Sekarang Anda telah menyiapkan server LEMP, kita akan melanjutkan ke langkah berikutnya.

Membuat Basis Data

Sekarang kita akan membuat database untuk Craft CMS. Buka konsol MySQL Ubuntu:

sudo mysql -u root -p

-p berarti kata sandi. Jika Anda ingin terhubung oleh pengguna root, cukup tulis -u root dan tekan Enter tanpa mengetik informasi spesifik lainnya.

Masukkan kata sandi yang telah Anda tetapkan selama instalasi Ubuntu. Kemudian jalankan perintah di bawah ini untuk membuat database bernama 'craftdb':

CREATE DATABASE craftdb;
GRANT ALL ON craftdb.* TO 'craftuser' IDENTIFIED BY 'mypassword';
FLUSH PRIVILEGES;
EXIT;

Untuk menggunakan database ini, kita perlu menghubungkannya. Jadi kami membuat pengguna bernama 'craftuser'. Kami menggunakan IDENTIFIED BY alih-alih VALUES karena kami memberi tahu MySQL untuk hanya menggunakan database dan bukan data lainnya. Ganti kata kata sandi saya dengan kata sandi aman pilihan Anda.

FLUSH PRIVILEGES adalah untuk membuang semua transaksi yang tidak terikat dalam sesi ini.

Memasang CMS Kerajinan

Untuk menginstal CMS Craft, pertama-tama kita harus menginstal Composer versi terbaru. Karena Ubuntu tidak mendukung penggunaan gem di sistemnya. Kami hanya dapat menginstal CMS Craft dengan menggunakan Composer. Jalankan perintah di bawah ini untuk menginstal Komposer:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

-s mengaktifkan mode senyap. Secara default, curl tidak menampilkan output saat berjalan di sepanjang -s, Anda dapat meneruskan url untuk diuraikan. Dalam hal ini kami memberi tahu curl untuk mendapatkan URL https://getcomposre the -s, kami menambahkan flag untuk mengunduh file (yaitu https://getcomposer.org/installer) dan menyimpan URL, flag -o memberitahu curl untuk menulis file yang diunduh ke composer-setup.php

Selanjutnya, instal Composer dengan menjalankan perintah di bawah ini:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Perintah php diperlukan untuk memberi tahu komputer bahwa Anda ingin menjalankan skrip PHP ini sudo composer-setup.php --install-dir=/usr/local/bin --filename=composer

Install-dir adalah jalur tujuan Composer. Dalam hal ini adalah /usr/local/bin. Jika Anda tidak ingin file dapat diakses oleh semua pengguna, gunakan ./ atau ./. Selain itu, direktori ini harus memiliki izin eksekusi.

Bendera --filename adalah nama file tempat Composer akan diinstal.

Jika Anda tidak tahu harus meletakkannya di mana, Anda dapat menyalin file ke direktori mana pun yang Anda pilih atau menentukannya setelah --filename

Setelah Komposer diinstal, verifikasi versi yang diinstal menggunakan perintah di bawah ini:

composer --version

Contoh keluaran:

Selanjutnya, buat direktori untuk proyek Craft CMS Anda. Kami membuat direktori bernama kerajinan di bawah direktori /var/www/html/. Kami akan menggunakan direktori ini sebagai root web kami. Artinya, semua file yang kita buat atau halaman yang dilayani oleh CMS Craft akan diakses dari web root.

mkdir /var/www/html/craft

Selanjutnya, pindah ke direktori kerajinan dan instal CMS Kerajinan menggunakan Komposer:

cd /var/www/html/craft
composer create-project craftcms/craft

Catatan :Jika Anda menggunakan versi Craft di bawah 0.97, ganti create-project dengan install.

Peringatan :Ini akan menimpa semua file yang ada di direktori.

Jika Anda ingin memiliki direktori lain untuk CMS Craft Anda, Anda dapat menentukan opsi --prefer-dist.

Jika penyedia hosting Anda tidak mengizinkan perubahan root dokumen ke /var/www, maka sangat disarankan untuk menginstal Craft ke dalam subdirektori webroot seperti:mkdir craft dan menjalankan composer create-project craftcms/craft craft.

Contoh keluaran:

Anda akan diminta untuk memberikan detail basis data, nama pengguna, dan kata sandi untuk administrasi.

Anda harus memberikan beberapa kredensial pengguna untuk database MYSQL sehingga Craft dapat mengatur kunci keamanan internalnya! Hostname adalah 'localhost', username adalah 'craftuser' dan password yang Anda pilih saat Anda membuat database MySQL di atas.

Pada titik ini, Komposer harus dapat mengkompilasi dan menginstal Craft di direktori bernama craft di dalam struktur root web Anda /var/www. Secara default, ini tidak dapat diakses melalui Internet kecuali Anda telah mengaktifkan akses HTTP.

Selanjutnya, atur kepemilikan yang tepat untuk direktori Craft yang baru diinstal:

chown -R www-data:www-data /var/www/html/craft

Mengonfigurasi Nginx

Nginx digunakan untuk melayani permintaan dari klien yang langsung ke sana. Ini memberikan beberapa manfaat tambahan seperti menyajikan file statis dengan sangat baik, membuat cache halaman, dan kompresi gzip halaman ini.

sudo nano /etc/nginx/conf.d/craft.conf

Isi file dengan baris berikut:

server {
listen 80;
server_name craft.example.com;
root /var/www/html/craft/web;
index index.php;
location / {
  try_files $uri/index.html $uri $uri/ /index.php?$query_string;
  }
location ~ [^/]\.php(/|$) {
 try_files $uri $uri/ /index.php?$query_string;
 fastcgi_split_path_info ^(.+\.php)(/.+)$;
 fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
 fastcgi_index index.php;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 fastcgi_param HTTP_PROXY "";
}
}

Nama server:Ini adalah nama domain atau alamat IP server Anda, klien akan menggunakan ini untuk menentukan dari siapa mereka perlu meminta file (dalam kasus kami ini adalah craft.example.com).

Akar dokumen:Di sinilah aset inti CMS Craft berada, termasuk web dan folder inti yang berada di bawah /var/www/html/craft. Jalur yang Anda lihat di sini mungkin berbeda, tergantung pada versi kerajinan yang Anda gunakan atau jika struktur folder telah diubah.

Try_files $uri $uri/$uri :Untuk setiap permintaan ke URI relatif seperti http://craft.example.com/index.php, ini akan mengembalikan file index.php yang biasanya berada di root dokumen instalasi kerajinan Anda.

Lokasi ~ [^/]\.php(/|$) :Regex ke file PHP pada dasarnya berarti mencari setiap permintaan yang diakhiri dengan .php atau cocok dengan semuanya kecuali / dan $ (mencari secara rekursif).

Lokasi soket PHP-FPM:Ini digunakan oleh permintaan aset inti Craft CMS, nilai ini harus sesuai dengan nama file soket php-fpm Anda di file konfigurasi master Anda /etc/php/7.4{5,6}-fpm.conf

Simpan dan tutup file kemudian verifikasi bahwa itu berfungsi dengan menjalankan:

sudo nginx -t

Contoh keluaran:

Jika tidak ada kesalahan, Anda dapat me-restart Nginx dengan perintah di bawah ini:

sudo systemctl reload nginx

Mengakses CMS Kerajinan

Sekarang setelah file dikonfigurasi, kita dapat mengakses instalasi Craft CMS kita. Arahkan browser Anda ke http://craft.example.com dan Anda akan melihat layar selamat datang:

Klik 'pergi ke panel kontrol Anda', isi rincian admin Anda dan klik "login". Anda akan melihat dasbor default.

Jika Anda menemukan pesan yang bertuliskan "503 Tidak Tersedia" seperti ini:

Pastikan Anda memiliki pembaruan plugin Craft, Craft theme dan Craft terbaru. Jika itu tidak membantu, coba langkah berikutnya:pastikan izin folder Craft sudah benar seperti yang dijelaskan dalam artikel ini. File-file ini harus dimiliki oleh root dan craft tidak boleh memiliki izin menulis ke folder mana pun.

Kesimpulan

Selamat! Sekarang Anda telah berhasil menginstal CraftCMS di Ubuntu 20.04. Mari kita membuat beberapa situs web! Seperti biasa, jangan ragu untuk meninggalkan komentar atau saran di bawah.


Ubuntu
  1. Cara Menginstal WordPress dengan Nginx di Ubuntu 18.04

  2. Cara Menginstal phpMyAdmin dengan Nginx di Ubuntu 18.04

  3. Cara Menginstal MediaWiki dengan Nginx di Ubuntu 16.04

  1. Cara Menginstal Grav CMS dengan Nginx di Ubuntu 16.04

  2. Cara Menginstal SuiteCRM dengan Nginx di Ubuntu 16.04

  3. Cara Menginstal Magento dengan Nginx di Ubuntu 15.10

  1. Cara Menginstal Mailpile dengan Nginx di Ubuntu 15.10

  2. Cara Instal Redmine 3 dengan Nginx di Ubuntu 15.10

  3. Cara Menginstal Piwik dengan Nginx di Ubuntu 15.10