Magento adalah platform e-niaga kelas perusahaan terkemuka yang dibangun di atas teknologi sumber terbuka yang menggabungkan fitur-fitur canggih dengan fleksibilitas dan antarmuka yang ramah pengguna.
Dengan fitur-fitur seperti Pengalaman Belanja yang Menarik, Arsitektur Modular Fleksibel, serta Skalabilitas dan Kinerja tingkat Perusahaan, Magento adalah platform pilihan bagi sebagian besar penjual online.
Ini adalah posting pertama dalam seri Cara menginstal dan mengkonfigurasi Magento 2 di CentOS 7. Dalam tutorial ini, kami akan memandu Anda melalui langkah-langkah menginstal Magento 2 di mesin CentOS 7.
Prasyarat #
Sebagai prasyarat untuk mengikuti tutorial ini, Anda memerlukan:
- Server CentOS 7, menurut persyaratan sistem resmi Magento 2, Anda memerlukan setidaknya 2G RAM. Jika Anda menggunakan server dengan RAM kurang dari 2 GB, Anda harus membuat file swap.
- Masuk sebagai akun pengguna dengan hak istimewa sudo.
- Nama domain yang menunjuk ke IP server publik Anda. Dalam tutorial ini, kita akan menggunakan
example.com
. - Menginstal dan mengonfigurasi Nginx, MySQL, dan PHP 7.1. Jika belum, lihat panduan LEMP di CentOS 7.
- Sertifikat SSL yang valid. Jika Anda belum memilikinya, Anda dapat membuat sertifikat SSL Let's Encrypt gratis dengan mengikuti Secure Nginx dengan Let's Encrypt di CentOS 7.
Pasangan Kunci Akses Magento #
Kami perlu membuat kunci akses untuk mengautentikasi akses ke repositori kode Magento 2 serta ekstensi dan tema pihak ketiga.
Jika Anda tidak memiliki akun Magento Marketplace, Anda dapat membuatnya di sini. Setelah Anda membuat akun, harap periksa petunjuk berikut tentang cara membuat set kunci akses baru.
Buat Database MySQL #
Magento 2 kompatibel dengan MySQL 5.6 dan 5.7, MariaDB 10.x dan Percona 5.7. Jika Anda tidak menginstal MySQL atau MariaDB di server Anda, Anda dapat memeriksa panduan ini.
Masuk ke shell MySQL:
mysql -u root -p
Dan jalankan perintah berikut untuk membuat database dan pengguna baru dan memberikan hak istimewa kepada pengguna tersebut atas database yang baru dibuat:
CREATE DATABASE magento;
GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'P4ssvv0rD';
Instal ekstensi PHP #
Kami berasumsi bahwa Anda telah mengaktifkan repositori PHP 7.1 Remi menggunakan panduan kami.
Instal semua ekstensi PHP yang diperlukan dengan perintah berikut:
sudo yum install php-mysql php-opcache php-xml php-mcrypt php-gd php-soap php-redis php-bcmath php-intl php-mbstring php-json php-iconv php-fpm php-zip
Setelah instalasi selesai, atur opsi PHP yang diperlukan dan direkomendasikan dengan mengedit php.ini
file dengan sed
:
sudo sed -i "s/memory_limit = .*/memory_limit = 756M/" /etc/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php.ini
sudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php.ini
sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php.ini
sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php.d/10-opcache.ini
Instal Komposer #
Composer adalah manajer ketergantungan untuk PHP yang digunakan untuk menginstal, memperbarui, dan mengelola perpustakaan.
Untuk menginstal composerglobal, unduh penginstal Composer dengan curl
dan pindahkan file ke /usr/local/bin
direktori:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Buat Pengguna Sistem baru #
Buat pengguna dan grup baru, yang akan menjalankan instalasi Magento kami, untuk kesederhanaan kami akan memberi nama pengguna kami magento
:
sudo useradd -m -U -r -d /opt/magento magento
Tambahkan nginx
pengguna ke magento
grup dan ubah /opt/magento
izin direktorisehingga Nginx dapat mengakses instalasi Magento kami:
sudo usermod -a -G magento nginx
sudo chmod 750 /opt/magento
Konfigurasi PHP FPM #
Selanjutnya, kita perlu mengonfigurasi PHP dan membuat kumpulan FPM untuk magento
kita pengguna.
Buka editor teks Anda dan buat file berikut:
/etc/php-fpm.d/magento.conf[magento]
user = magento
group = nginx
listen.owner = magento
listen.group = nginx
listen = /run/php-fpm/magento.sock
pm = ondemand
pm.max_children = 50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /
Simpan file dan mulai ulang layanan PHP FPM agar perubahan diterapkan:
sudo systemctl restart php-fpm
Instal Magento #
Ada beberapa cara untuk menginstal Magento. Hindari menginstal Magento dari repositori Github karena versi tersebut ditujukan untuk pengembangan dan bukan untuk instalasi produksi. Dalam tutorial ini, kita akan menginstal Magento dari repositori mereka menggunakan composer.
Beralih ke penggunamagento
:
sudo su - magento
Mulai penginstalan dengan mengunduh file magento ke /opt/magento/public_html
direktori:
composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html
Selama pembuatan proyek, komposer akan meminta Anda untuk memasukkan kunci akses, menyalin kunci dari akun pasar Magento Anda dan menyimpannya di auth.json
file, jadi nanti saat memperbarui instalasi Anda, Anda tidak perlu menambahkan kunci yang sama lagi.
Authentication required (repo.magento.com):
Username: e758ec1745d190520ca246e4e832e12c
Password:
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn]
Setelah proyek dibuat, kita dapat memulai instalasi. Kita dapat menginstal Magento baik dengan menggunakan baris perintah atau menggunakan web Setup Wizard. Dalam tutorial ini, kita akan menginstal Magento menggunakan baris perintah.
Kami akan menggunakan opsi berikut untuk menginstal toko Magento kami:
- URL aman Basis dan Basis disetel ke
https://example.com
, ubah dengan domain Anda. - Administrator Magento:
John
Doe
sebagai nama depan dan belakang.[email protected]
sebagai email.john
sebagai nama pengguna danj0hnP4ssvv0rD
sebagai kata sandi.
- Nama basis data
magento
, nama penggunamagento
, kata sandiP4ssvv0rD
, dan server database berada di host yang sama dengan server web. en_US
, Bahasa Inggris AS sebagai bahasa default.USD
dolar sebagai mata uang default.America/Chicago
sebagai zona waktu.
Ubah ke ~/public_html
Magento direktori:
cd ~/public_html
Jalankan perintah berikut untuk memulai instalasi:
php bin/magento setup:install --base-url=https://example.com/ \
--base-url-secure=https://example.com/ \
--admin-firstname="John" \
--admin-lastname="Doe" \
--admin-email="[email protected]" \
--admin-user="john" \
--admin-password="j0hnP4ssvv0rD" \
--db-name="magento" \
--db-host="localhost" \
--db-user="magento" \
--currency=USD \
--timezone=America/Chicago \
--use-rewrites=1 \
--db-password="P4ssvv0rD"
Jangan lupa ganti passwordnya (j0hnP4ssvv0rD
) untuk sesuatu yang lebih aman. Jika penginstalan berhasil, Anda akan disajikan pesan yang berisi URI ke dasbor admin Magento.
[Progress: 485 / 485]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1csalp
Nothing to import.
Buat crontab Magento #
Magento menggunakan tugas cron untuk menjadwalkan tugas seperti pengindeksan ulang, notifikasi, peta situs, email, dan lainnya.
Untuk membuat crontab Magento jalankan perintah berikut sebagai magento
pengguna:
php ~/public_html/bin/magento cron:install
Kami dapat memverifikasi bahwa crontab telah diinstal dengan menjalankan:
crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d
Konfigurasi Nginx #
Jika Anda mengikuti panduan LEMP kami di CentOS 7, Anda seharusnya sudah menginstal Nginx di mesin Anda. Sekarang kita hanya perlu membuat blok server baru untuk instalasi Magento kita. Kami akan menyertakan konfigurasi Nginx default yang dikirimkan bersama magento:
/etc/nginx/conf.d/example.com.confupstream fastcgi_backend {
server unix:/run/php-fpm/magento.sock;
}
server {
listen 80;
server_name example.com www.example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
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;
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;
set $MAGE_ROOT /opt/magento/public_html;
set $MAGE_MODE developer; # or production
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
include /opt/magento/public_html/nginx.conf.sample;
}
Muat ulang layanan Nginx agar perubahan diterapkan:
sudo systemctl reload nginx
Terakhir, Anda seharusnya dapat masuk ke instalasi Magento di https://example.com/admin_1csalp
menggunakan pengguna admin yang Anda tentukan saat menjalankan pemasang Magento.