Cara Menginstal Magento 2 di Ubuntu 20.04 LTS

Panduan lengkap tentang cara menyiapkan dan menerapkan penyimpanan Magento2 di server Ubuntu 20.04.

Magento adalah platform eCommerce populer yang dibuat dan ditulis dalam PHP, digunakan oleh banyak bisnis skala kecil untuk menjual produk dan membuat kehadiran online. Ini memungkinkan Anda untuk membuat toko online lengkap dengan fitur-fitur seperti manajemen inventaris, katalog produk, pengiriman, faktur, dan banyak lagi.

Jika Anda ingin membangun platform belanja yang ramping dan berkelas perusahaan untuk bisnis Anda, Magento harus menjadi titik awal yang bagus. Jadi dalam panduan ini, kita akan melihat cara mengatur edisi komunitas Magento versi 2.3 dengan tumpukan LAMP di server Ubuntu 20.04.

Prasyarat

Anda memerlukan server Ubuntu 20.04 LTS dan masuk sebagai sudo pengguna yang diaktifkan. Anda juga memerlukan nama domain yang menunjuk ke IP server Ubuntu 20.04 Anda. Kami akan menggunakan contoh.com di mana pun nama domain diperlukan, gantilah dengan domain Anda. Sebelum kita mulai, perbarui daftar paket dan kemudian tingkatkan paket di server Ubuntu 20.04 Anda.

sudo apt update && sudo apt upgrade

Instal Server Web Apache

Magento membutuhkan server web untuk berfungsi, dalam panduan ini kami telah memilih untuk menggunakan menjalankan aplikasi Magento di atas tumpukan LAMP (Linux, Apache, MySQL, PHP). Jadi kita akan menginstal semua paket yang terdiri dari tumpukan LAMP.

Apache web server adalah salah satu web server paling populer di internet yang memiliki hampir 37,2% dari total pangsa pasar web server. Anda juga dapat memilih untuk menginstal Magento melalui tumpukan LEMP yang menggunakan server web Nginx alih-alih apache. Tapi dalam panduan ini kita akan menggunakan server Megento kita dengan bantuan Apache.

Untuk menginstal server web Apache, jalankan perintah di bawah ini:

sudo apt install apache2

Masukkan kata sandi pengguna Anda dan tekan kamu jika diminta. Ketika instalasi selesai, kita perlu mengonfigurasi uncomplicated firewall (UFW) Ubuntu untuk mengizinkan lalu lintas di port 80 & 443.

UFW hadir dengan profil yang telah dikonfigurasi sebelumnya yang dapat diaktifkan untuk memungkinkan aplikasi mengakses port pada server Ubuntu 20.04 Anda. Jadi ketika Anda menginstal server web Apache, profil UFW yang disebut 'Apache', 'Apache Full' dan 'Apache Secure' ditambahkan ke daftar aplikasi UFW. Izinkan server web Apache untuk melayani di port 80 & 443 dengan menjalankan:

sudo ufw izinkan 'Apache Penuh'

Sekarang, yang perlu kita lakukan hanyalah mengaktifkan UFW tetapi sebelum melakukannya, pastikan Anda telah mengizinkan port 22 (SSH). Jika Anda tidak mengubah aturan SSH UFW, Anda mungkin terkunci dari server Ubuntu 20.04 Anda.

sudo ufw izinkan 'OpenSSH'

Terakhir, aktifkan firewall UFW dengan menjalankan:

sudo ufw aktifkan

tekan kamu jika Anda mendapatkan prompt yang mengatakan bahwa perintah tersebut mungkin mengganggu koneksi SSH, karena kami telah menambahkan aturan untuk mengizinkan SSH melewatinya. Anda sekarang dapat mengakses server web Apache melalui browser Anda, ketik alamat IP server Ubuntu 20.04 Anda di bilah URL dan tekan enter.

halaman default apache2 ubuntu

Instal Server MySQL

Anda juga memerlukan server database untuk menjalankan Magento karena di situlah semua konten toko Magento disimpan. Kami akan menginstal server MySQL dan membuat pengguna bernama magentouser dan database yang disebut magento untuk Magento.

Paket MySQL disebut sebagai mysql-server di repositori Ubuntu, instal dengan menjalankan:

sudo apt install mysql-server

Selanjutnya, kita perlu mengkonfigurasi pengaturan keamanan MySQL dengan benar. Untungnya, paket MySQL dilengkapi dengan skrip keamanan yang membuat konfigurasi server MySQL menjadi lebih mudah. Jadi, jalankan skrip ini dengan menjalankan perintah berikut:

sudo mysql_secure_installation

Anda akan diminta dengan beberapa pertanyaan, ini adalah pengaturan optimal untuk server MySQL:

  • Apakah Anda ingin menyiapkan komponen VALIDATE PASSWORD?[y/n]: Masuk kamu
  • Ada tiga tingkat kebijakan validasi kata sandi.
    • Silakan masukkan 0 = RENDAH, 1 = SEDANG dan 2 = KUAT: Masuk 2
  • Silakan atur kata sandi untuk root di sini.
    • Kata Sandi Baru: Masukkan Kata Sandi untuk pengguna root MySQL.
    • Masukkan kembali kata sandi baru: Ulangi kata sandi yang Anda pilih.
  • Hapus pengguna anonim? [y/n]: Masuk kamu
  • Larang login root dari jarak jauh? [y/n] : Masuk kamu
  • Hapus database pengujian dan akses ke sana? [y/n] : Masuk kamu
  • Muat ulang tabel hak istimewa sekarang? [y/n] : Masuk kamu

Kemudian untuk memverifikasi dan memvalidasi bahwa server MySQL diinstal dan berfungsi dengan baik, login ke server MySQL sebagai pengguna root dengan:

sudo mysql

Masukkan sudo kata sandi pengguna ketika Anda diminta untuk melakukannya dan tekan enter. Pengguna root MySQL menggunakan unix_socket untuk mengautentikasi login. Apa artinya ini pada dasarnya adalah Anda harus menjadi sudo pengguna untuk login ke server MySQL sebagai pengguna root.

Buat Database dan Pengguna Baru untuk Magento

Sekarang kita dapat, membuat pengguna MySQL untuk Magento dan jika Anda telah mengikuti setiap langkah dari panduan ini, Anda harus membuka konsol MySQL. Buat database bernama magento dengan memasukkan kueri berikut di konsol MySQL:

BUAT DATABASE magento;

Untuk membuat pengguna MySQL baru yang disebut magentouser, jalankan kueri ini di konsol:

BUAT PENGGUNA 'magentouser'@'%' DIIDENTIFIKASI DENGAN mysql_native_password OLEH 'password';

Catatan: Ganti kata sandi dalam permintaan dengan kata sandi yang kuat yang Anda pilih.

Kemudian berikan yang baru magentouser akses penuh ke magento basis data:

GRANT ALL ON magento.* KE 'magentouser'@'%' DENGAN GRANT OPTION;

Kita perlu mengatur log_bin_trust_function_creators parameter sebagai 1 karena dinonaktifkan di versi terbaru MySQL dan tanpa mengaktifkannya, Magento membuat beberapa kesalahan saat menginstal. Untuk melakukannya, jalankan kueri berikut:

SET GLOBAL log_bin_trust_function_creators=1;

Terakhir, muat ulang hak istimewa dan pengaturan basis data yang kami ubah dan keluar dari konsol dengan menggunakan kueri ini:

HAK ISTIMEWA; KELUAR;

Instal PHP dan Ekstensi yang Diperlukan

Magento membutuhkan PHP dan beberapa ekstensi PHP untuk berfungsi. Pada saat penulisan artikel ini, versi edisi komunitas Magento 2.3 tidak berfungsi dengan versi PHP terbaru 7.4 dan oleh karena itu kita perlu menginstal versi PHP 7.3.

Kami perlu menambahkan PHP PPA pihak ketiga agar kami dapat menginstal versi PHP 7.3 karena repositori Ubuntu hanya memiliki yang terbaru 7.4 paket. Tambahkan PPA dan perbarui daftar paket dengan menjalankan perintah ini:

sudo add-apt-repository ppa:ondrej/php && sudo apt update

Kemudian instal PHP 7.3 dan semua modul PHP yang dibutuhkan Magento dengan menjalankan perintah berikut:

sudo apt install php7.3 php7.3-common php7.3-mysql php7.3-fpm php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3- gd php7.3-xml php7.3-cli php7.3-zip php7.3-bcmath php7.3-soap libapache2-mod-php7.3

Setelah PHP 7.3 diinstal, kita perlu mengonfigurasi beberapa pengaturan dasar yang direkomendasikan oleh Magento agar berfungsi dengan baik. Jalankan perintah ini untuk membuka file konfigurasi ekstensi FPM menggunakan nano

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

Berikut adalah beberapa pengaturan yang direkomendasikan untuk sebagian besar situs web Magento.

file_uploads = Aktif allow_url_fopen = Aktif short_open_tag = Aktif memory_limit = 256M cgi.fix_pathinfo = 0 upload_max_filesize = 100M max_execution_time = 360

Simpan perubahan dengan menekan Ctrl+O lalu keluar dari editor nano dengan menekan Ctrl+X. Kami sekarang memiliki PHP dan semua ekstensi yang diperlukan sehingga kami dapat melanjutkan untuk mendapatkan Magento.

Instal Komposer

Composer adalah manajer ketergantungan PHP yang membuat pemasangan kerangka kerja dan pustaka PHP lebih mudah. Kami membutuhkan Komposer untuk mengunduh dan menginstal Magento di server Ubuntu 20.04 kami.

Komposer membutuhkan paket yang disebut buka ritsleting untuk mengekstrak pustaka dan kerangka kerja yang diunduh, instal dengan menjalankan:

sudo apt install unzip

Kemudian instal komposer pada tingkat seluruh sistem dengan menjalankan perintah ini:

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

Perintah di atas harus menginstal manajer ketergantungan Composer di server Ubuntu 20.04. Verifikasi bahwa Komposer diinstal dengan benar dengan menjalankan:

komposer
 KELUARAN:  ______ / ____/___ ____ ___ ____ ____ ________ _____ / / / __ \/ __ `__ \/ __ \/ __ \/ _/ _ \/ ___/ / /___/ /_/ / / / / / /_ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ Komposer versi 1.10.8 2020-06- 24 21:23:30 Penggunaan: perintah [opsi] [argumen] 

Unduh & Instal Magento

Kami sekarang dapat melanjutkan untuk mengunduh dan menginstal Magento karena kami telah menginstal & mengonfigurasi semua paket yang diperlukan oleh Magento.

Membuat Akun Magento

Untuk mengunduh Magento di server Ubuntu 20.04 Anda, Anda memerlukan kunci akses Magento 2. Untuk mendapatkan kunci akses ini, Anda memerlukan akun Magento. Jika Anda tidak terdaftar dan tidak memiliki akun Magento, buka halaman ini dan klik 'Daftar'.

Setelah Anda selesai membuat akun Magento, Anda akan dapat membuat kunci akses baru sehingga Anda dapat mengunduh Magento 2 di komputer Anda menggunakan composer. Anda dapat melihat semua kunci akses Magento Anda di halaman ini. Jika tidak ada kunci akses di bawah tab Magento 2, klik tombol 'Buat Kunci Akses Baru' dan beri nama lalu tekan 'OK'.

Kunci ini adalah kredensial Anda yang digunakan untuk mengunduh Magento 2 dari repositori Magento melalui Komposer. Kami akan menggunakan kunci ini ketika kami mengunduh Magento, tetapi sebelum melakukan itu, kami akan mengatur kepemilikan dan izin direktori.

Konfigurasi Kepemilikan dan Izin Pra-instalasi

Izin file dapat membuat atau merusak keamanan situs web apa pun, jadi perlu untuk mengatur kepemilikan dan izin root dokumen server Apache dengan benar.

Pemilik default dari /var/www/ direktori adalah pengguna root, tetapi kita perlu mengakses dan memodifikasi file di bawah direktori ini. Selain itu, server web juga memerlukan akses ke root dokumen untuk menulis kembali dan mengubah konten situs Magento.

Jadi untuk mengatasi masalah ini, kami akan menambahkan pengguna saat ini ke www-data grup, untuk melakukannya jalankan:

sudo usermod -a -G www-data $USER

Itu -sebuah-G pilihan itu penting karena mereka menambahkan www-data sebagai grup sekunder ke akun pengguna, yang mempertahankan grup utama pengguna. Setelah menambahkan pengguna ke grup server web, ubah pemilik /var/www/ dan subdirektorinya menggunakan perintah ini:

sudo chown -R $USER:www-data /var/www/

Sekarang kami telah menyiapkan izin pra-instalasi untuk Magento, kami dapat melanjutkan untuk mengunduhnya di root Dokumen server web.

Mengunduh Magento

Sekarang pada titik ini, Anda harus memiliki akun Magento dengan kunci akses dan izin pra-instalasi yang diatur dengan benar. Jadi kita akan menggunakan Composer untuk mengunduh Magento ke root dokumen Apache dan kemudian menginstalnya.

Ubah direktori saat ini menjadi /var/www/ jadi terminal menunjuk ke arahnya dengan menjalankan:

cd /var/www/

Jalankan perintah di bawah ini untuk membuat proyek baru menggunakan Komposer yang dikenal sebagai magento.

komposer create-project --repository=//repo.magento.com/ magento/project-community-edition magento

Anda akan dimintai nama pengguna dan kata sandi setelah Anda menggunakan perintah di atas. Kunci akses yang kami buat akan digunakan di sini. Salin kunci publik dan rekatkan sebagai nama pengguna lalu salin kunci pribadi Anda dan tempelkan ke terminal sebagai kata sandi. Lalu tekan kamu untuk menyimpan kredensial untuk digunakan di masa mendatang.

 Keluaran:  Membuat proyek "magento/project-community-edition" di "./magento" Peringatan dari repo.magento.com: Anda belum memberikan kunci otentikasi Magento Anda. Untuk petunjuk, kunjungi //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Diperlukan otentikasi (repo.magento.com): Nama pengguna: e8b6120dce14c3d982a85525264897c4 Kata Sandi: Apakah Anda ingin menyimpan kredensial untuk repo.magento.com di /home/ath/.config/composer/auth.json ? [Yn] kamu

Setelah Magento dan semua dependensinya diunduh melalui Composer, kita perlu mengatur kepemilikan dan izin untuk direktori proyek magento baru dan juga file-filenya. Ubah direktori ke root proyek Magento dengan:

cd /var/www/magento/

Kemudian ubah pemilik grup direktori proyek Magento dan sub-direktorinya dengan menjalankan:

find var generate vendor pub/static pub/media app/etc -type f -exec chmod g+w {} + && find var generate vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Perintah ini akan memberikan grup server web (www-data) izin untuk menulis ke direktori vendor, pub/static, pub/media & app/etc dan file di dalamnya. Selain itu, itu akan membuat tempat sampah/magento file executable, sehingga kami dapat menjalankannya dan menginstal Magento di sistem kami.

Mengonfigurasi Apache untuk Magento

Kami akan menginstal Magento melalui GUI, karena lebih intuitif daripada instalasi CLI dalam kasus ini. Jadi, kita perlu membuat host virtual untuk server web Apache sebelum kita dapat melanjutkan dengan instalasi Magento.

Buka file host virtual default Apache dengan nano menggunakan perintah berikut:

sudo nano /etc/Apache2/sites-available/000-default.conf

Ubah Root Dokumen menjadi /var/www/magento dan tambahkan potongan kode berikut di bawahnya.

 AllowOverride All ServerName example.com ServerAlias ​​www.example.com

Ganti contoh.com di ServerName dan ServerAlias ​​dengan nama domain Anda. Perubahan dalam diri Anda 000-default.conf file akan terlihat seperti teks yang disorot di bawah ini. Simpan perubahan dengan menekan Ctrl+O dan keluar dari editor dengan menggunakan Ctrl+X kunci.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/magento AllowOverride All ServerName example.com ServerAlias ​​www.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log digabungkan 

Selanjutnya, kita perlu mengaktifkan mod Apache yang disebut sebagai mod_rewrite dibutuhkan oleh Magento. Ini menyediakan cara yang fleksibel dan kuat untuk memanipulasi URL, jadi aktifkan mod dengan menjalankan:

sudo a2enmod menulis ulang

Mulai ulang server Apache sehingga setiap perubahan yang kami buat diterapkan ke server:

sudo systemctl restart Apache2

Menginstal Magento

Kami akhirnya dapat melanjutkan dengan instalasi Magento, karena kami memiliki semua yang diperlukan oleh Magento untuk berfungsi. Ketik alamat IP server Ubuntu 20.04 Anda di bilah URL browser pilihan Anda.

Klik 'Agree and Setup Magento' untuk melanjutkan instalasi Magento. Langkah pertama pemasang Web Magento adalah pemeriksaan kesiapan, ini akan memverifikasi bahwa semua persyaratan Magento terpenuhi. Klik 'Mulai Pemeriksaan Kesiapan' dan setelah proses selesai, tekan 'Berikutnya'.

Langkah selanjutnya adalah menyiapkan detail dan menambahkan database untuk Magento. Kami telah membuat pengguna MySQL untuk Magento yang disebut magentouser dan database yang disebut magento di bagian atas. Isi rincian yang sesuai di bagian ini, yaitu nama pengguna server basis data, kata sandi dan nama basis datanya, lalu tekan 'Berikutnya' untuk melanjutkan.

Langkah ketiga dalam pengaturan Magento adalah konfigurasi web. Ganti alamat IP dari input 'Alamat Toko' ke nama domain Anda jika ada. Jangan lupa beri tanda garis miring (/) setelah nama domain Anda seperti sebaliknya, URL alamat Admin menjadi tidak dapat diakses.

Kemudian klik Opsi Lanjutan dan centang kedua opsi HTTPS jika Anda ingin menggunakan koneksi aman untuk situs Magento Anda. Pertahankan sisa pengaturan apa adanya dan tekan berikutnya.

Catatan: Jika Anda mencentang opsi HTTPS, Anda harus mendapatkan sertifikat SSL untuk itu. Kita akan melihat cara mendapatkan sertifikat SSL di bagian selanjutnya dari tutorial ini.

Di bawah pengaturan 'Sesuaikan Toko Anda', Anda hanya perlu mengubah zona waktu, mata uang default yang digunakan di toko dan bahasa default toko sesuai dengan kebutuhan Anda. Lihat di sekitar pengaturan ini, konfigurasikan jika diperlukan, jika tidak, klik berikutnya untuk melanjutkan.

Pada langkah kelima, Anda harus membuat akun Admin untuk dasbor Admin Magento Anda. Masukkan nama pengguna baru untuk admin Anda dan masukkan alamat email yang disediakan oleh penyedia nama domain Anda. Buat kata sandi yang kuat untuk akun admin dan kemudian tekan berikutnya ketika Anda selesai.

Langkah terakhir dan terakhir adalah cukup klik tombol 'Instal' untuk mengonfirmasi pengaturan dan memulai proses instalasi. Ketika instalasi selesai, pengaturan Magento akan menunjukkan ringkasan dan beberapa detail penting tentang situs Magento Anda.

Catat detail ini di tempat yang aman seperti catatan kertas offline atau di database yang aman. Alamat admin Magento dan kunci enkripsi tidak boleh dibagikan secara publik. Kunci enkripsi digunakan untuk mengenkripsi database Magento sehingga data pengguna akan aman, meskipun ada kebocoran data.

Buat Sertifikat SSL untuk Situs Magento Anda

Situs Magento disebarkan, dan dapat diakses segera setelah penginstalan selesai. Tetapi jika Anda ingin melayani lalu lintas web melalui HTTPS, Anda harus menyiapkan sertifikat SSL untuk domain Anda.

Letsencrypt adalah otoritas sertifikat nirlaba yang menyediakan sertifikat TLS secara gratis. Kami akan menggunakan paket yang disebut certbot yang membantu mendapatkan sertifikat dan mengonfigurasi virtual host Apache secara otomatis. Jalankan perintah ini di terminal untuk menginstal certbot:

sudo apt install certbot python3-certbot-apache

Untuk mendapatkan sertifikat Anda dari Letsencrypt dan mengkonfigurasi host virtual Apache, jalankan perintah berikut:

sudo certbot --apache

Certbot akan memulai proses mendapatkan sertifikat dari Letsencrypt, berikan alamat email Anda saat diminta, lalu tekan tombol enter. Selanjutnya, ketik SEBUAH untuk menyetujui persyaratan layanan Letsencrypt. Anda akan ditanya apakah Anda ingin membagikan alamat email Anda dengan EFF, ketik kamu atau n tergantung pada pilihan Anda.

Selanjutnya, Anda akan diberikan daftar nama domain yang ingin Anda aktifkan HTTPSnya. Ketik nomor yang sesuai dengan nama domain Anda dan tekan Enter.

Setelah memilih nama domain Anda, Anda akan ditanya apakah Anda ingin mengarahkan lalu lintas HTTP ke HTTPS, ketik 2 dan tekan enter. Certbot sekarang akan secara otomatis mengkonfigurasi host virtual Apache untuk domain contoh.com.

Paket Certbot dilengkapi dengan cronjob yang memperbarui sertifikat server Anda secara otomatis sebelum kedaluwarsa.Uji apakah pembaruan otomatis berfungsi dengan menjalankan:

sudo certbot memperbarui --dry-run

Output di atas berarti bahwa cronjob perpanjangan otomatis berfungsi dengan baik. Untuk mengonfirmasi bahwa Certbot berfungsi, buka browser Anda dan kunjungi domain Anda //contoh.com.

Demikian pula, Anda dapat mengakses halaman login admin menggunakan //contoh.com/admin_SecretString, URL ini berada di akhir penginstalan Magento.

Anda sekarang telah berhasil menginstal Magento di server Ubuntu 20.04 LTS dan sekarang Anda dapat mulai menyesuaikan toko Anda sesuai dengan kebutuhan Anda. Untuk mengetahui lebih banyak tentang Magento dan mempelajari tentang pengembangan toko, kunjungi halaman Dokumen Magento.