Cara Memasang Magento 2 pada Ubuntu 20.04 LTS

Panduan komprehensif tentang cara menyediakan dan menggunakan kedai Magento2 pada pelayan Ubuntu 20.04.

Magento ialah platform eDagang yang popular dibina dan ditulis dalam PHP, ia digunakan oleh banyak perniagaan berskala kecil untuk menjual produk dan mencipta kehadiran dalam talian. Ia membolehkan anda membuat kedai dalam talian yang lengkap dengan ciri seperti pengurusan inventori, katalog produk, penghantaran, invois dan banyak lagi.

Jika anda ingin membina platform beli-belah yang anggun dan gred perusahaan untuk perniagaan anda, Magento sepatutnya menjadi titik permulaan yang hebat. Jadi dalam panduan ini, kita akan melihat cara menyediakan edisi komuniti Magento versi 2.3 dengan tindanan LAMP pada pelayan Ubuntu 20.04.

Prasyarat

Anda memerlukan pelayan Ubuntu 20.04 LTS dan log masuk sebagai a sudo pengguna yang didayakan. Anda juga memerlukan nama domain yang menunjuk ke IP pelayan Ubuntu 20.04 anda. Kami akan gunakan example.com di mana sahaja nama domain diperlukan, gantikannya dengan domain anda. Sebelum kita mula, kemas kini senarai pakej dan kemudian tingkatkan pakej pada pelayan Ubuntu 20.04 anda.

kemas kini sudo apt && peningkatan sudo apt

Pasang Pelayan Web Apache

Magento memerlukan pelayan web untuk berfungsi, dalam panduan ini kami telah memilih untuk menggunakan jalankan aplikasi Magento melalui tindanan LAMP (Linux, Apache, MySQL, PHP). Jadi kami akan memasang semua pakej yang terdiri daripada tindanan LAMP.

Pelayan web Apache ialah salah satu pelayan web paling popular di internet yang mempunyai hampir 37.2% daripada jumlah bahagian pasaran pelayan web. Anda juga boleh memilih untuk memasang Magento melalui timbunan LEMP yang menggunakan pelayan web Nginx dan bukannya apache. Tetapi dalam panduan ini kami akan menggunakan pelayan Megento kami dengan bantuan Apache.

Untuk memasang pelayan web Apache, jalankan arahan di bawah:

sudo apt pasang apache2

Masukkan kata laluan pengguna anda dan tekan Y jika digesa. Apabila pemasangan selesai, kami perlu mengkonfigurasi tembok api tidak rumit (UFW) Ubuntu untuk membenarkan trafik pada port 80 & 443.

UFW dilengkapi dengan profil prakonfigurasi yang boleh ditukar togol untuk membolehkan aplikasi mengakses port pada pelayan Ubuntu 20.04 anda. Jadi apabila anda memasang pelayan web Apache, profil UFW yang dipanggil 'Apache', 'Apache Full' dan 'Apache Secure' telah ditambahkan pada senarai aplikasi UFW. Benarkan pelayan web Apache berkhidmat pada port 80 & 443 dengan berlari:

sudo ufw benarkan 'Apache Full'

Sekarang, apa yang perlu kita lakukan ialah mendayakan UFW tetapi sebelum kita berbuat demikian pastikan anda telah membenarkan port tersebut 22 (SSH). Jika anda tidak menukar peraturan SSH UFW, anda mungkin terkunci daripada pelayan Ubuntu 20.04 anda.

sudo ufw benarkan 'OpenSSH'

Akhir sekali, dayakan tembok api UFW dengan menjalankan:

sudo ufw enable

Tekan Y jika anda mendapat gesaan yang mengatakan bahawa arahan itu mungkin mengganggu sambungan SSH, kerana kami telah menambah peraturan untuk membenarkan SSH melaluinya. Anda kini boleh mengakses pelayan web apache melalui pelayar anda, taip alamat IP pelayan Ubuntu 20.04 anda dalam bar URL dan tekan enter.

halaman lalai apache2 ubuntu

Pasang Pelayan MySQL

Anda juga memerlukan pelayan pangkalan data untuk menjalankan Magento kerana di situlah semua kandungan kedai Magento disimpan. Kami akan memasang pelayan MySQL dan mencipta pengguna yang dipanggil magentouser dan pangkalan data dipanggil magento untuk Magento.

Pakej MySQL dipanggil sebagai mysql-server dalam repositori Ubuntu, pasangkannya dengan menjalankan:

sudo apt install mysql-server

Seterusnya, kita perlu mengkonfigurasi tetapan keselamatan MySQL dengan betul. Nasib baik, pakej MySQL disertakan dengan skrip keselamatan yang menjadikan konfigurasi pelayan MySQL lebih mudah. Jadi, laksanakan skrip ini dengan menjalankan arahan berikut:

sudo mysql_secure_installation

Anda akan digesa dengan berbilang soalan, ini adalah tetapan optimum untuk pelayan MySQL:

  • Adakah anda ingin menyediakan komponen SAHKAN KATA LALUAN?[y/n]: Masukkan Y
  • Terdapat tiga peringkat dasar pengesahan kata laluan.
    • Sila masukkan 0 = RENDAH, 1 = SEDERHANA dan 2 = KUAT: Masukkan 2
  • Sila tetapkan kata laluan untuk root di sini.
    • Kata Laluan Baharu: Masukkan Kata Laluan untuk pengguna root MySQL.
    • Masukkan semula kata laluan baharu: Ulang kata laluan pilihan anda.
  • Alih keluar pengguna tanpa nama? [y/n]: Masuk Y
  • Larang log masuk akar dari jauh? [y/n] : Masuk Y
  • Alih keluar pangkalan data ujian dan akses kepadanya? [y/n] : Masuk Y
  • Muat semula jadual keistimewaan sekarang? [y/n] : Masuk Y

Kemudian untuk mengesahkan dan mengesahkan bahawa pelayan MySQL dipasang dan berfungsi dengan betul, log masuk ke pelayan MySQL sebagai pengguna root dengan:

sudo mysql

Masukkan anda sudo kata laluan pengguna apabila anda digesa untuk berbuat demikian dan tekan enter. Pengguna akar MySQL menggunakan unix_socket untuk mengesahkan log masuk. Maksud asasnya ialah anda perlu menjadi seorang sudo pengguna untuk log masuk ke pelayan MySQL sebagai pengguna akarnya.

Cipta Pangkalan Data dan Pengguna Baharu untuk Magento

Kami kini boleh, mencipta pengguna MySQL untuk Magento dan jika anda telah mengikuti setiap langkah panduan ini, anda mesti membuka konsol MySQL. Buat pangkalan data yang dipanggil magento dengan memasukkan pertanyaan berikut dalam konsol MySQL:

CIPTA PANGKALAN DATA magento;

Untuk mencipta pengguna MySQL baharu dipanggil magentouser, jalankan pertanyaan ini dalam konsol:

BUAT PENGGUNA 'magentouser'@'%' DIKENALPASTI DENGAN mysql_native_password OLEH 'kata laluan';

Nota: Gantikan kata laluan dalam pertanyaan dengan kata laluan yang kukuh pilihan anda.

Kemudian berikan yang baru magentouser akses penuh kepada magento pangkalan data:

BERIKAN SEMUA PADA magento.* KEPADA 'magentouser'@'%' DENGAN PILIHAN GERAN;

Kita perlu menetapkan log_bin_trust_function_creators parameter sebagai 1 kerana ia dilumpuhkan dalam versi terkini MySQL dan tanpa mendayakannya Magento membuang beberapa ralat semasa memasang. Untuk berbuat demikian jalankan pertanyaan berikut:

TETAPKAN GLOBAL log_bin_trust_function_creators=1;

Akhir sekali, muatkan semula keistimewaan dan tetapan pangkalan data yang kami ubah dan keluar dari konsol dengan menggunakan pertanyaan ini:

KEISTIMEWAAN FLUSH; KELUAR;

Pasang PHP dan Sambungan yang Diperlukan

Magento memerlukan PHP dan beberapa sambungan PHP untuk berfungsi. Pada masa menulis artikel ini, versi edisi komuniti Magento 2.3 tidak berfungsi dengan versi PHP terkini 7.4 dan oleh itu kita perlu memasang versi PHP 7.3.

Kami perlu menambah PHP PPA pihak ketiga supaya kami boleh memasang versi PHP 7.3 kerana repositori Ubuntu hanya mempunyai yang terkini 7.4 pakej. Tambahkan PPA dan kemas kini senarai pakej dengan menjalankan arahan ini:

sudo add-apt-repository ppa:ondrej/php && kemas kini sudo apt

Kemudian pasang PHP 7.3 dan semua modul PHP yang diperlukan oleh Magento dengan menjalankan arahan 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-sabun libapache2-mod-php7.3

Selepas PHP 7.3 dipasang, kami perlu mengkonfigurasi beberapa tetapan asas yang disyorkan oleh Magento untuk berfungsi dengan betul. Jalankan arahan ini untuk membuka fail konfigurasi sambungan FPM menggunakan nano

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

Berikut ialah beberapa tetapan yang disyorkan untuk kebanyakan tapak web Magento.

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

Simpan perubahan dengan menekan Ctrl+O kemudian keluar dari editor nano dengan menekan Ctrl+X. Kami kini mempunyai PHP dan semua sambungan yang diperlukan dan supaya kami boleh meneruskan untuk mendapatkan Magento.

Pasang Komposer

Komposer ialah pengurus pergantungan PHP yang memudahkan pemasangan rangka kerja dan perpustakaan PHP. Kami memerlukan Komposer untuk memuat turun dan memasang Magento pada pelayan Ubuntu 20.04 kami.

Komposer memerlukan pakej yang dipanggil buka zip untuk mengekstrak perpustakaan dan rangka kerja yang dimuat turun, pasangkannya dengan menjalankan:

sudo apt install unzip

Kemudian pasang komposer pada tahap seluruh sistem dengan menjalankan arahan ini:

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

Perintah di atas harus memasang pengurus kebergantungan Komposer pada pelayan Ubuntu 20.04. Sahkan bahawa Komposer dipasang dengan betul dengan menjalankan:

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

Muat turun & Pasang Magento

Kami kini boleh meneruskan untuk memuat turun dan memasang Magento kerana kami telah memasang & mengkonfigurasikan semua pakej yang diperlukan yang diperlukan oleh Magento.

Mencipta Akaun Magento

Untuk memuat turun Magento pada pelayan Ubuntu 20.04 anda, anda memerlukan kunci akses Magento 2. Untuk mendapatkan kunci akses ini, anda memerlukan akaun Magento. Jika anda tidak berdaftar dan tidak mempunyai akaun Magento, pergi ke halaman ini dan klik pada 'Daftar'.

Selepas anda selesai membuat akaun Magento, anda akan dapat mencipta kunci akses baharu supaya anda boleh memuat turun Magento 2 pada mesin anda menggunakan komposer. Anda boleh melihat semua kunci akses Magento anda pada halaman ini. Jika tiada kekunci akses di bawah tab Magento 2 klik pada butang 'Buat Kekunci Akses Baru' dan beri nama kemudian tekan 'OK'.

Kekunci ini ialah kelayakan anda yang digunakan untuk memuat turun Magento 2 daripada repositori Magento melalui Komposer. Kami akan menggunakan kekunci ini apabila kami memuat turun Magento, tetapi sebelum melakukannya kami akan menyediakan pemilikan dan kebenaran direktori.

Konfigurasi Pemilikan dan Kebenaran Prapemasangan

Kebenaran fail boleh membuat atau memecahkan keselamatan mana-mana tapak web, jadi adalah perlu untuk menetapkan pemilikan dan kebenaran akar dokumen pelayan Apache dengan betul.

Pemilik lalai bagi /var/www/ direktori ialah pengguna akar, tetapi kami perlu mengakses dan mengubah suai fail di bawah direktori ini. Selain itu, pelayan web juga memerlukan akses kepada akar dokumen untuk menulis semula dan mengubah suai kandungan tapak Magento.

Jadi untuk menyelesaikan isu ini, kami akan menambah pengguna semasa ke www-data kumpulan, untuk berbuat demikian jalankan:

sudo usermod -a -G www-data $USER

The -a-G pilihan adalah penting kerana ia menambah www-data sebagai kumpulan kedua kepada akaun pengguna, yang mengekalkan kumpulan utama pengguna. Selepas menambah pengguna pada kumpulan pelayan web, tukar pemilik /var/www/ dan subdirektorinya menggunakan arahan ini:

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

Memandangkan kami telah menyediakan kebenaran prapemasangan untuk Magento, kami boleh meneruskan untuk memuat turunnya dalam akar Dokumen pelayan web.

Memuat turun Magento

Pada ketika ini, anda sepatutnya mempunyai akaun Magento dengan kunci akses dan kebenaran prapemasangan yang disediakan dengan betul. Jadi kami akan menggunakan Komposer untuk memuat turun Magento ke dalam akar dokumen Apache dan kemudian memasangnya.

Tukar direktori semasa kepada /var/www/ jadi terminal menghala ke arahnya dengan menjalankan:

cd /var/www/

Jalankan arahan di bawah untuk mencipta projek baharu menggunakan Komposer yang dikenali sebagai magento.

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

Anda akan digesa untuk nama pengguna dan kata laluan selepas anda menggunakan arahan di atas. Kekunci akses yang kami cipta akan digunakan di sini. Salin kunci awam dan tampalkannya sebagai nama pengguna kemudian salin kunci peribadi anda dan tampalkannya ke dalam terminal sebagai kata laluan. Kemudian tekan Y untuk menyimpan bukti kelayakan untuk kegunaan masa hadapan.

 Pengeluaran:  Mencipta projek "magento/project-community-edition" di "./magento" Amaran daripada repo.magento.com: Anda belum memberikan kunci pengesahan Magento anda. Untuk arahan, lawati //devdocs.magento.com/guides/v2.3/install-gde/prereq/connect-auth.html Pengesahan diperlukan (repo.magento.com): Nama pengguna: e8b6120dce14c3d982a85525264897c4 Kata laluan: Adakah anda ingin menyimpan kelayakan untuk repo.magento.com dalam /home/ath/.config/composer/auth.json ? [Yn] Y

Selepas Magento dan semua kebergantungannya dimuat turun melalui Komposer, kami perlu menetapkan pemilikan dan kebenaran untuk direktori projek magento baharu dan failnya juga. Tukar direktori kepada akar projek Magento dengan:

cd /var/www/magento/

Kemudian tukar pemilik kumpulan direktori projek Magento dan sub-direktorinya dengan menjalankan:

cari var jana vendor pub/statik pub/apl media/etc -type f -exec chmod g+w {} + && cari var jana vendor pub/statik pub/apl media/etc -type d -exec chmod g+ws {} + && chmod u+x bin/magento && sudo chown -R :www-data . 

Perintah ini akan memberikan kumpulan pelayan web (www-data) kebenaran untuk menulis kepada vendor, direktori pub/statik, pub/media & aplikasi/dll dan fail di dalamnya. Selain itu, ia akan menjadikan bin/magento fail boleh laku, jadi kami boleh menjalankannya dan memasang Magento pada sistem kami.

Mengkonfigurasi Apache untuk Magento

Kami akan memasang Magento melalui GUI, kerana ia lebih intuitif daripada pemasangan CLI dalam kes ini. Oleh itu, kita perlu mencipta hos maya untuk pelayan web Apache sebelum kita boleh meneruskan pemasangan Magento.

Buka fail hos maya lalai Apache dengan nano menggunakan arahan berikut:

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

Tukar Akar Dokumen kepada /var/www/magento dan tambahkan coretan kod berikut di bawahnya.

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

Gantikan example.com dalam ServerName dan ServerAlias ​​dengan nama domain anda. Perubahan dalam diri anda 000-default.conf fail sepatutnya kelihatan seperti teks yang diserlahkan yang ditunjukkan di bawah. 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 

Seterusnya, kita perlu mendayakan mod Apache yang dipanggil sebagai mod_rewrite diperlukan oleh Magento. Ia menyediakan cara yang fleksibel dan berkuasa untuk memanipulasi URL, jadi dayakan mod dengan menjalankan:

sudo a2enmod tulis semula

Mulakan semula pelayan Apache supaya sebarang perubahan yang kami buat digunakan pada pelayan:

sudo systemctl mulakan semula apache2

Memasang Magento

Kami akhirnya boleh meneruskan pemasangan Magento, kerana kami mempunyai semua yang diperlukan oleh Magento untuk berfungsi. Taipkan alamat IP pelayan Ubuntu 20.04 anda dalam bar URL pelayar pilihan anda.

Klik pada 'Setuju dan Sediakan Magento' untuk meneruskan pemasangan Magento. Langkah pertama pemasang Magento Web ialah semakan kesediaan, ia akan mengesahkan bahawa semua keperluan Magento dipenuhi. Klik pada 'Start Readiness Check' dan selepas proses selesai, tekan pada 'Next'.

Langkah seterusnya ialah menyediakan butiran dan menambah pangkalan data untuk Magento. Kami telah mencipta pengguna MySQL untuk Magento dipanggil magentouser dan pangkalan data dipanggil magento dalam bahagian di atas. Isikan butiran yang sesuai dalam bahagian ini, iaitu nama pengguna pelayan pangkalan data, kata laluan dan nama pangkalan datanya dan kemudian tekan ‘Seterusnya’ untuk meneruskan.

Langkah ketiga dalam persediaan Magento ialah konfigurasi web. Gantikan alamat IP daripada input 'Alamat Kedai' kepada nama domain anda jika anda mempunyai satu. Jangan lupa untuk meletakkan garis miring ke hadapan (/) selepas nama domain anda sebaliknya, URL alamat Pentadbir menjadi tidak boleh diakses.

Kemudian klik pada Pilihan Lanjutan dan tandakan kedua-dua pilihan HTTPS jika anda ingin menggunakan sambungan selamat untuk tapak Magento anda. Kekalkan tetapan selebihnya seperti sedia ada dan tekan seterusnya.

Nota: Jika anda menanda pilihan HTTPS, anda perlu mendapatkan sijil SSL untuknya. Kami akan melihat bagaimana untuk mendapatkan sijil SSL dalam bahagian seterusnya tutorial ini.

Di bawah tetapan 'Sesuaikan Kedai Anda', anda hanya perlu menukar zon waktu, mata wang lalai yang digunakan dalam kedai dan bahasa lalai kedai mengikut keperluan anda. Lihat sekeliling tetapan ini mengkonfigurasinya jika perlu sebaliknya klik pada sebelah untuk meneruskan.

Dalam langkah kelima, anda perlu membuat akaun Pentadbir untuk papan pemuka Pentadbir Magento anda. Masukkan nama pengguna baharu untuk pentadbir anda dan masukkan alamat e-mel yang diberikan oleh pembekal nama domain anda. Cipta kata laluan yang kukuh untuk akaun pentadbir dan kemudian tekan seterusnya apabila anda selesai.

Langkah terakhir dan terakhir ialah hanya klik pada butang 'Pasang' untuk mengesahkan tetapan dan memulakan proses pemasangan. Apabila pemasangan selesai, persediaan Magento akan menunjukkan kepada anda ringkasan dan beberapa butiran penting tentang tapak Magento anda.

Catatkan butiran ini di tempat yang selamat seperti rekod kertas luar talian atau dalam pangkalan data selamat. Alamat pentadbir Magento dan kunci penyulitan tidak boleh dikongsi secara terbuka. Kunci penyulitan digunakan untuk menyulitkan pangkalan data Magento supaya data pengguna selamat, walaupun terdapat kebocoran data.

Cipta Sijil SSL untuk Tapak Magento anda

Tapak Magento digunakan, dan ia boleh diakses sejurus selepas pemasangan selesai. Tetapi jika anda ingin menyampaikan trafik web melalui HTTPS, maka anda perlu menyediakan sijil SSL untuk domain anda.

Letsencrypt ialah pihak berkuasa sijil bukan untung yang menyediakan sijil TLS secara percuma. Kami akan menggunakan pakej yang dipanggil certbot yang membantu dalam mendapatkan sijil dan mengkonfigurasi hos maya Apache secara automatik. Jalankan arahan ini dalam terminal untuk memasang certbot:

sudo apt pasang certbot python3-certbot-apache

Untuk mendapatkan sijil anda daripada Letsencrypt dan konfigurasikan hos maya Apache, jalankan arahan berikut:

sudo certbot --apache

Certbot akan memulakan proses mendapatkan sijil daripada Letsencrypt, berikan alamat e-mel anda apabila digesa dan kemudian tekan kekunci enter. Seterusnya, taip A untuk bersetuju menerima syarat perkhidmatan Letsencrypt. Anda akan ditanya sama ada anda ingin berkongsi alamat e-mel anda dengan EFF, taipkan Y atau N bergantung pada pilihan anda.

Seterusnya, anda akan diberikan senarai nama domain yang ingin anda aktifkan HTTPS. Taipkan nombor yang sesuai sepadan dengan nama domain anda dan tekan Enter.

Selepas memilih nama domain anda, anda akan ditanya sama ada anda ingin mengubah hala lalu lintas HTTP ke HTTPS, taip 2 dan tekan enter. Certbot kini secara automatik akan mengkonfigurasi hos maya Apache untuk domain tersebut example.com.

Pakej Certbot disertakan dengan cronjob yang memperbaharui sijil pelayan anda secara automatik sebelum tamat tempoh.Uji sama ada pembaharuan automatik berfungsi dengan menjalankan:

sudo certbot renew --dry-run

Output di atas bermakna cronjob auto-pembaharuan berfungsi dengan betul. Untuk mengesahkan bahawa Certbot berfungsi, buka penyemak imbas anda dan lawati domain anda //example.com.

Begitu juga, anda boleh mengakses halaman log masuk pentadbir menggunakan //example.com/admin_SecretString, URL ini berada di penghujung pemasangan Magento.

Anda kini telah berjaya memasang Magento pada pelayan Ubuntu 20.04 LTS dan kini anda boleh mula menyesuaikan kedai anda mengikut keperluan anda. Untuk mengetahui lebih lanjut tentang Magento dan mengetahui tentang pembangunan kedai, pergi ke halaman Dokumen Magento.