Android

Paano mag-install ng prestashop sa ubuntu 18.04

How to Install Prestashop CMS on Ubuntu 18.10

How to Install Prestashop CMS on Ubuntu 18.10

Talaan ng mga Nilalaman:

Anonim

Ang PrestaShop ay isang libre at bukas na mapagkukunan na e-commerce platform. Ito ay batay sa PHP at MySQL at maaaring mapalawak na may libre at premium na mga plugin at tema.

Sa mga tampok tulad ng intuitive administrative interface, maramihang mga gateway ng pagbabayad, multi-lingual, analytic at pag-uulat, ang PrestaShop ay isang platform ng pagpipilian para sa maraming mga online na mangangalakal.

Sa tutorial na ito, ipapakita namin sa iyo kung paano i-install ang PrestaShop sa server ng Ubuntu 18.04. Gumagamit kami ng Nginx bilang isang web server, ang pinakabagong PHP 7.2 at MySQL / MariaDB bilang isang server ng database.

Mga kinakailangan

Tiyakin na nakamit mo ang sumusunod na mga kinakailangan bago magpatuloy sa tutorial na ito:

  • Magkaroon ng isang domain name na tumuturo sa iyong public server IP. Gagamitin namin ang example.com .Nginx ay naka-install sa iyong server ng Ubuntu sa pamamagitan ng pagsunod sa mga tagubiling ito.An SSL certificate na naka-install para sa iyong domain upang i-encrypt ang impormasyon ng gumagamit. Maaari kang mag-install ng isang libreng Let’s Encrypt SSL certificate sa pamamagitan ng pagsunod sa mga tagubiling ito.

I-update ang mga pakete ng system sa pinakabagong mga bersyon at i-install ang unzip utility:

sudo apt update && sudo apt upgrade sudo apt install unzip

Paglikha ng isang MySQL Database

Inimbak ng PrestaShop ang impormasyon nito sa isang database ng MySQL.

Kung ang MySQL o MariaDB ay naka-install sa iyong server maaari mong laktawan ang hakbang na ito. Kung hindi, i-install ang package ng MySQL 5.7 mula sa default na mga repositori ng Ubuntu sa pamamagitan ng pag-type:

sudo apt install mysql-server mysql-client Para sa mga sariwang pag-install ng MySQL, inirerekumenda na patakbuhin ang utos ng mysql_secure_installation upang mapabuti ang seguridad ng iyong MySQL server.

Upang lumikha ng isang database, mag-log in sa mysql shell:

sudo mysql

Mula sa loob ng shell ng MySQL, patakbuhin ang sumusunod na pahayag ng SQL upang lumikha ng isang bagong database na pinangalanang prestashop :

CREATE DATABASE prestashop;

Susunod, lumikha ng isang account sa gumagamit ng MySQL na nagngangalang prestashop at magbigay ng kinakailangang pahintulot sa gumagamit sa pamamagitan ng pagpapatakbo ng sumusunod na utos:

GRANT ALL ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'change-with-strong-password'; Huwag kalimutan na baguhin ang change-with-strong-password may isang malakas na password.

Kapag tapos na, lumabas sa MySQL console sa pamamagitan ng pag-type:

EXIT;

Pag-install at Pag-configure ng PHP

Ang PHP 7.2 ay ang default na bersyon ng PHP sa Ubuntu 18.04, at ito ay ganap na suportado at inirerekomenda para sa PrestaShop.

Patakbuhin ang sumusunod na utos na mag-install ng PHP at lahat ng kinakailangang mga module ng PHP:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Kapag nakumpleto ang proseso ng pag-install ay awtomatikong magsisimula ang serbisyo ng PHP-FPM. Maaari mong i-verify ito sa pamamagitan ng pag-type:

sudo systemctl status php7.2-fpm

Ang output ay dapat magmukhang ganito:

* php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2019-03-24 11:53:33 PDT; 14s ago Docs: man:php-fpm7.2(8) Main PID: 15853 (php-fpm7.2) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"

Patakbuhin ang sumusunod na mga utos na sed upang itakda ang inirekumendang mga pagpipilian sa PHP:

sudo sed -i "s/memory_limit =.*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/zlib.output_compression =.*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/max_execution_time =.*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.ini sudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Pag-download ng PrestaShop

Sa panahon ng pagsulat ng artikulong ito, ang pinakabagong matatag na bersyon ng PrestaShop ay bersyon 1.7.6.2 .

I-download ang pinakabagong bersyon ng PrestaShop mula sa Pahina ng Pag-download ng PrestaShop gamit ang sumusunod na utos ng wget:

cd /tmp wget

Kung kumpleto ang pag-download, lumikha ng isang direktoryo na hahawak sa aming mga file ng PrestaShop:

sudo mkdir -p /var/www/html/example.com

Susunod, kunin ang archive ng PrestaShop:

unzip prestashop_*.zip

Ang archive na ito ay naglalaman ng isa pang zip file na "prestashop.zip", na naglalaman ng lahat ng mga file ng PrestaShop. Kunin ang mga file sa direktoryo ng root ng dokumento ng domain:

sudo unzip prestashop.zip -d /var/www/html/example.com

Itakda ang tamang mga pahintulot upang ang webserver ay maaaring magkaroon ng ganap na pag-access sa mga file at direktoryo ng site gamit ang sumusunod na utos ng chown :

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

Pag-configure ng Nginx

Sa ngayon, dapat na mayroon kang Nginx na may isang sertipiko ng SSL na naka-install sa iyong server ng Ubuntu. Kung hindi, suriin ang mga kinakailangan para sa tutorial na ito.

Buksan ang iyong text editor at lumikha ng sumusunod na file:

sudo nano /etc/nginx/sites-available/example.com /etc/nginx/site-available/example.com

server { listen 80; listen 443 ssl http2; server_name example.com www.example.com; root /var/www/html/example.com; index index.php; # SSL parameters 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; include snippets/letsencrypt.conf; # Cloudflare / Max CDN fix location ~* \.(eot|otf|ttf|woff(?:2)?)$ { add_header Access-Control-Allow-Origin *; } # Do not save logs for these location = /favicon.ico { auth_basic off; allow all; log_not_found off; access_log off; } location = /robots.txt { auth_basic off; allow all; log_not_found off; access_log off; } # Images rewrite ^/()(-*)?(-+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last; rewrite ^/()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last; rewrite ^/()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last; rewrite ^/()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last; rewrite ^/()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last; rewrite ^/()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/()()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/()()()()()()()()(-*)?(-+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last; rewrite ^/c/(+)(-*)(-+)?/.+.jpg$ /img/c/$1$2$3.jpg last; rewrite ^/c/(+)(-+)?/.+.jpg$ /img/c/$1$2.jpg last; # AlphaImageLoader for IE and fancybox rewrite ^images_ie/?(+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 last; # Web service API rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last; # Installation sandbox rewrite ^(/install(?:-dev)?/sandbox)/(.*) /$1/test.php last; #Change this block to your admin folder location /admin_CHANGE_ME { if (!-e $request_filename) { rewrite ^/.*$ /admin_CHANGE_ME/index.php last; } } # File security #.htaccess.DS_Store.htpasswd etc location ~ /\. { deny all; } # Source code directories location ~ ^/(app|bin|cache|classes|config|controllers|docs|localization|override|src|tests|tools|translations|travis-scripts|vendor|var)/ { deny all; } # Prevent exposing other sensitive files location ~ \.(yml|log|tpl|twig|sass)$ { deny all; } # Prevent injection of php files location /upload { location ~ \.php$ { deny all; } } location /img { location ~ \.php$ { deny all; } } # PHP FPM part location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; } }

Huwag kalimutang palitan ang halimbawa.com sa iyong domain ng PrestaShop, at "admin_CHANGE_ME" sa iyong direktoryo ng admin. Maaari mong mahanap ang pangalan ng direktoryo sa pamamagitan ng paglista ng nilalaman ng direktoryo ng ugat ng Prestashop:

sudo ls -l /var/www/html/example.com | grep admin

Tiyaking ginagamit mo ang tamang landas sa mga file ng sertipiko ng SSL. Ang mga snippet na ginamit sa pagsasaayos na ito ay nilikha sa gabay na ito.

Bago i-restart ang serbisyo ng Nginx suriin ang pagsasaayos para sa mga error sa syntax:

sudo nginx -t

Ang output ay dapat magmukhang ganito:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful

Sa wakas, i-restart ang serbisyo ng Nginx sa pamamagitan ng pag-type:

sudo systemctl restart nginx

Pag-install ng PrestaShop

Ngayon na ang PrestaShop ay nai-download at kumpleto ang pagsasaayos ng server, maaari mong tapusin ang pag-install sa pamamagitan ng web interface.

Buksan ang iyong browser, i-type ang iyong domain, at isang screen na katulad ng sumusunod ay lilitaw:

Para sa mga kadahilanang pangseguridad, kailangan mong tanggalin ang direktoryo ng pag-install. Upang gawin ito, bumalik sa terminal at ipasok ang sumusunod na rm utos:

sudo rm -rf /var/www/html/example.com/install

Upang ma-access ang iyong PrestaShop administrative dashboard, mag-click sa pindutang "Pamahalaan ang iyong tindahan". Ipasok ang iyong email at password, at mai-redirect ka sa dashboard ng administrasyon.

Mula dito, maaari mong simulan ang pagpapasadya ng iyong pag-install ng PrestaShop at magdagdag ng mga bagong produkto.

Konklusyon

Matagumpay mong na-install ang PrestaShop sa iyong Ubuntu 18.04 server. Ang PrestaShop Documentation ay isang magandang lugar ng pagsisimula upang malaman ang higit pa tungkol sa kung paano pamahalaan ang iyong pag-install ng PrestaShop.

ubuntu prestashop mysql php nginx ecommerce