GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal Magento 2.1 di CentOS 7

Magento adalah toko open source (perangkat lunak e-niaga) dan sistem manajemen konten untuk situs web e-niaga berdasarkan PHP Zend Framework. Magento menerapkan konvensi Pemrograman Berorientasi Objek dan arsitektur MVC (Model-View-Controller) dan menggunakan MySQL/MariaDB sebagai database. Perangkat lunak yang dikembangkan telah dimulai pada tahun 2008 oleh Varien Inc. Dalam beberapa tahun terakhir, Magento telah menjadi platform tepercaya untuk perangkat lunak e-niaga yang mendukung bisnis online di seluruh dunia.

Dalam tutorial ini, saya akan memandu Anda melalui instalasi Magento 2.1. Kami akan menginstal Magento 2.1 dengan Nginx dan Php7.0-fpm dan MySQL sebagai database. Untuk tujuan ini, saya akan menggunakan server CentOS 7 dengan SELinux diaktifkan.

Langkah 1 - Instal Nginx

Pada langkah ini, kita akan menginstal Nginx dari repositori epel. Epel tidak tersedia secara default, jadi kita perlu menginstal epel-repository sebelum menginstal Nginx.

Instal epel-repository dengan perintah yum ini.

yum -y install epel-release

Sekarang kita dapat menginstal Nginx dari epel-repository.

yum -y install nginx

Setelah instalasi selesai, mulai Nginx dan tambahkan untuk memulai pada saat boot.

systemctl start nginx
systemctl aktifkan nginx

Nginx dimulai pada port 80, Anda dapat memeriksanya dengan perintah netstat di bawah.

netstat -plntu

Jika Anda melihat hasil 'command not found', Anda dapat menginstal net-tools seperti ini.

yum -y install net-tools

Langkah 2 - Instal dan Konfigurasi PHP-FPM

Dalam tutorial ini, kita akan menggunakan PHP-FPM 7 untuk instalasi Magento. Saya akan menggunakan paket PHP 7 dari repositori Webtatic.

Unduh dan tambahkan repositori webtatic baru ke sistem.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Sekarang jalankan perintah di bawah ini untuk menginstal PHP-FPM7 dengan semua paket dan ekstensi yang diperlukan untuk instalasi Magento.

yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-mbstring 

Ketika instalasi PHP-FPM7 selesai, kita perlu mengkonfigurasinya. Kami akan mengkonfigurasi file php.ini dan file 'www.conf' konfigurasi php-fpm.

Edit php.ini dengan vim.

vim /etc/php.ini

Batalkan komentar pada baris cgi.fix_pathinfo 762 dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Konfigurasikan batas memori, waktu eksekusi maksimal dan aktifkan kompresi output zlib, pastikan Anda mengatur nilai seperti yang ditunjukkan di bawah ini.

memory_limit =512M
max_execution_time =1800
zlib.output_compression =Aktif

Batalkan komentar direktori jalur sesi dan ubah direktori seperti di bawah ini.

session.save_path ="/var/lib/php/session"

Simpan dan keluar.

Selanjutnya, edit file konfigurasi php-fpm www.conf dengan perintah vim.

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

PHP-FPM7 akan berjalan di bawah pengguna dan grup 'nginx', ubah nilainya menjadi 'nginx' untuk baris pengguna dan grup.

pengguna =nginx
grup =nginx

Kami akan menjalankan php-fpm di bawah file soket, bukan port server. Ubah nilai baris pendengar ke jalur file soket.

listen =/var/run/php/php-fpm.sock

File soket harus dimiliki oleh pengguna dan grup 'nginx', batalkan komentar pada baris yang mendengarkan dan ubah nilainya seperti yang ditunjukkan di bawah ini.

listen.owner =nginx
listen.group =nginx
listen.mode =0660

Terakhir, batalkan komentar pada baris lingkungan PHP-FPM 366-370.

env[HOSTNAME] =$HOSTNAME
env[PATH] =/usr/local/bin:/usr/bin:/bin
env[TMP] =/tmp
env[ TMPDIR] =/tmp
env[TEMP] =/tmp

Simpan dan keluar.

Selanjutnya, buat direktori baru untuk jalur sesi dan lokasi file sock php. Kemudian ubah pemiliknya menjadi pengguna dan grup 'nginx'.

Buat direktori baru untuk jalur sesi.

mkdir -p /var/lib/php/session/
chown -R nginx:nginx /var/lib/php/session/

Buat direktori baru untuk lokasi file socket php-fpm.

mkdir -p /run/php/
chown -R nginx:nginx /run/php/

Konfigurasi PHP-FPM7 selesai, jalankan daemon sekarang dan aktifkan untuk memulai saat boot dengan perintah systemctl di bawah ini.

systemctl start php-fpm
systemctl aktifkan php-fpm

Jika tidak ada kesalahan, Anda dapat menggunakan perintah di bawah ini untuk memeriksa apakah php-fpm berjalan di bawah file soket.

netstat -pl | grep php-fpm.sock

Langkah 3 - Instal Server MySQL 5.7

Magento 2.1 membutuhkan versi MySQL saat ini, Anda dapat menggunakan MySQL 5.6 atau 5.7 untuk instalasi. Dalam tutorial ini, kita akan menggunakan MySQL 5.7 yang dapat diinstal dari repositori resmi MySQL. Jadi kita perlu menambahkan repositori MySQL baru terlebih dahulu.

Unduh dan tambahkan repositori MySQL baru untuk instalasi MySQL 5.7.

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

Sekarang instal MySQL 5.7 dari repositori MySQL dengan perintah yum di bawah ini.

yum install mysql-community-server

Ketika instalasi selesai, mulai mysql dan tambahkan untuk memulai saat boot.

systemctl start mysqld
systemctl aktifkan mysqld

MySQL 5.7 telah diinstal dengan kata sandi root default, disimpan dalam file mysqld.log. Gunakan perintah grep untuk melihat kata sandi default untuk MySQL 5.7. Jalankan perintah di bawah ini.

grep 'sementara' /var/log/mysqld.log

Sekarang Anda melihat kata sandi root MySQL saat ini, Anda harus mengubah kata sandi default.

Hubungkan ke shell mysql dengan root pengguna dan kata sandi default.

mysql -u root -p
TYPE DEFAULT PASSWORD

Ubah kata sandi root default dengan kueri di bawah ini. Saya akan menggunakan sandi baru '[email protected]' di sini. Silakan pilih kata sandi yang aman.

ALTER USER 'root'@'localhost' DIIDENTIFIKASI DENGAN '[email protected]';
hak flush;

Kata sandi root MySQL default telah diubah. Selanjutnya kita perlu membuat user baru dan database baru untuk instalasi Magento.

Kami akan membuat database baru bernama 'magentodb' dan pengguna baru 'magentouser' dengan sandi '[email protected]'. Kemudian berikan semua hak istimewa database kepada pengguna baru. Jalankan kueri mysql di bawah.

buat database magentodb;
buat pengguna [dilindungi email] yang diidentifikasi dengan '[dilindungi email]';
berikan semua hak istimewa di magentodb.* kepada [dilindungi email] yang diidentifikasi dengan '[dilindungi email]';
hak flush;

Instalasi dan konfigurasi MySQL 5.7 selesai dan database untuk instalasi Magento telah dibuat.

Langkah 4 Instal dan Konfigurasi Magento

Pada langkah ini, kita akan mulai menginstal dan mengkonfigurasi Magento. Untuk direktori root web, kita akan menggunakan direktori '/var/www/magento2'. Kami membutuhkan komposer PHP untuk instalasi paket Magento.

Instal Komposer PHP

Kami akan menggunakan Komposer untuk instalasi ketergantungan paket PHP. Instal composer dengan perintah curl di bawah ini.

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

Ketika instalasi selesai, Anda dapat memeriksa versi komposer seperti yang ditunjukkan di bawah ini.

komposer -v

Komposer PHP telah diinstal.

Unduh dan Ekstrak Magento

Buka direktori '/var/www' dan unduh kode Magento dengan perintah wget.

cd /var/www/
wget https://github.com/magento/magento2/archive/2.1.zip

Instal unzip dengan yum.

yum -y install unzip

Ekstrak kode Magento dan ganti nama direktori menjadi direktori 'magento2'.

unzip 2.1.zip
mv magento2-2.1 magento2

Instal Ketergantungan PHP

Buka direktori magento2 dan instal semua dependensi Magento dengan perintah composer.

cd magento2
instal komposer -v

Tunggu hingga penginstalan Ketergantungan PHP selesai.

Mengonfigurasi Host Virtual Magento

Buka direktori Nginx dan buat file konfigurasi virtual host baru bernama 'magento.conf' di direktori 'conf.d'.

cd /etc/nginx/
vim conf.d/magento.conf

Tempel konfigurasi host virtual di bawah ini.

upstream fastcgi_backend {
        server  unix:/run/php/php-fpm.sock;
}

server {

       mendengarkan 80;
        server_name magento.hakase-labs.com;
       set $MAGE_ROOT /var/www/magento2;
       set $MAGE_MODE developer;
       include /var/www/magento2/nginx. conf.sample;
}

Simpan dan keluar.

Sekarang uji konfigurasi. Jika tidak ada kesalahan, mulai ulang layanan Nginx.

nginx -t
systemctl restart nginx

Instal Magento 2.1

Buka direktori magento2 untuk menginstal Magento pada baris perintah.

cd /var/www/magento2

Jalankan perintah di bawah ini, pastikan Anda memiliki konfigurasi yang benar. Nilai-nilai yang perlu diubah oleh Anda dijelaskan di bawah ini.

pengaturan bin/magento:install --backend-frontname="adminlogin" \
--key="biY8vdWx4w8KV5Q59380Fejy36l6ssUb" \
--db-host="localhost" \
- -db-name="magentodb" \
--db-user="magentouser" \
--db-password="[email protected]" \
--language="en_US " \
--currency="USD" \
--timezone="America/New_York" \
--use-rewrites=1 \
--use-secure=0 \
--base-url="http://magento.hakase-labs.com" \
--base-url-secure="https://magento.hakase-labs.com " \
--admin-user=adminuser \
[email protected] \
[email protected] \
--admin-firstname=admin \
-- admin-lastname=user \
--cleanup-database

Ubah nilai untuk:

  • --backend-frontname:Halaman login admin Magento "adminlogin"
  • --key:buat kunci Anda sendiri
  • --db-host:Host basis data localhost
  • --db-name:nama basis data 'magentodb'
  • --db-user:pengguna basis data 'magentouser'
  • --db-password:sandi database '[email protected]'
  • --base-url:URL Magento
  • --admin-user:Pengguna admin Anda
  • --admin-password:Kata sandi admin Magento Anda
  • --admin-email:Alamat email Anda

Ketika Anda tidak memiliki kesalahan dalam perintah, Anda akan melihat hasilnya di bawah ini.

Magento 2.1 diinstal. Jalankan perintah di bawah ini untuk mengubah izin direktori etc dan mengubah pemilik direktori magento2 menjadi pengguna 'nginx'.

chmod 700 /var/www/magento2/app/etc
chown -R nginx:nginx /var/www/magento2

Konfigurasi Magento Cron

Cronjob ini diperlukan untuk pengindeks Magento. Buat cronjob baru sebagai pengguna 'nginx' (karena magento berjalan di bawah pengguna dan grup nginx).

crontab -u nginx -e

Tempelkan konfigurasi di bawah ini.

* * * * * /usr/bin/php /var/www/magento2/bin/magento cron:run | grep -v "Jalankan pekerjaan sesuai jadwal">> /var/www/magento2/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/magento2/update /cron.php> > /var/www/magento2/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/magento2/bin/magento setup:cron :run>> /var/www/magento2/var/log/setup.cron.log

Simpan dan keluar.

Langkah 5 - Konfigurasi SELinux dan Firewalld

Dalam tutorial ini, kita akan membiarkan SELinux dalam mode 'Enforcing'. Jalankan perintah di bawah ini untuk memeriksa status SELinux.

status

SELinux dalam mode 'Menegakkan'.

Instal alat manajemen SELinux 'policycoreutils-python' dengan perintah yum di bawah ini.

yum -y install policycoreutils-python

Buka direktori '/var/www/'.

cd /var/www/

Jalankan perintah di bawah ini untuk mengubah konteks keamanan untuk file dan direktori Magento.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/app/etc(/.* )?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/var(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub /media(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/magento2/pub/static(/.*)?'
restorecon -Rv '/var/www /magento2/'

Konfigurasi SELinux selesai. Sekarang kita perlu mengkonfigurasi firewalld.

Instal paket firewalld jika Anda belum memilikinya di server Anda.

yum -y install firewalld

Mulai firewall dan tambahkan firewalld untuk memulai saat boot.

systemctl start firewalld
systemctl aktifkan firewalld

Buka port untuk HTTP dan HTTPS agar kami dapat mengakses URL Magento dari browser web.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Lihat port terbuka untuk layanan dengan perintah di bawah ini.

firewall-cmd --list-all

HTTP dan HTTPS siap untuk koneksi.

Langkah 6 - Pengujian

Buka browser web Anda lalu telusuri URL Magento. Milik saya adalah:

magento.hakase-labs.com

Dan Anda akan melihat beranda Magento default.

Selanjutnya, login ke dashboard admin dengan membuka URL adminlogin.

magento.hakase-labs.com/adminlogin

Masuk dengan pengguna dan kata sandi admin Anda.

Dasbor admin Magento.

Magento 2.1 telah berhasil diinstal dengan Nginx, PHP-FPM7 dan MySQL 5.7 di server CentOS 7.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Cara Menginstal Nginx di CentOS 7

  3. Cara Menginstal R di CentOS 7

  1. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  2. Cara Menginstal Nginx di CentOS 8

  3. Cara Menginstal R di CentOS 8

  1. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  2. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  3. Cara Menginstal Restyaboard di CentOS 7