How to Install Magento 2 with Varnish, Apache and Pound as SSL Termination

ในบทความนี้, เราจะแสดงให้คุณเห็นวิธีการติดตั้งวีโอไอพี 2 on an อูบุนตู 16.04 VPS กับ MariaDB, วานิชเป็นแคชเต็มหน้า, Apache and Pound as SSL termination. คู่มือนี้ควรจะทำงานในอื่น ๆ Linux VPS systems as well but was tested and written for an Ubuntu 16.04 VPS.

Before we begin, you may want a different setup for your Magento. You can follow this tutorial to install Magento 2 บนอูบุนตู 16.04 VPS กับ MariaDB, PHP-FPM 7.0, วานิชเป็นแคชเต็มหน้า, Nginx เป็นเลิกจ้าง SSL และ Redis เซสชั่นสำหรับการจัดเก็บและแคชหน้า.

Or you can check out this tutorial to install Magento 2 on an อูบุนตู 16.04 VPS กับ MariaDB, วานิชเป็นแคชเต็มหน้า, Apache and Memcache for session storage.

If you have any different requirements, just get a Linux VPS from us and we’ll set everything up for you, ไม่คิดเงิน.

1. Login and update your server

ก่อนอื่น, you need to login to your Ubuntu 16.04 VPS via SSH as user root:

SSH [email protected]_IP_address

It is also recommended to start a screen session by executing the following command

screen -U -S magento

อัปเดตระบบ and install necessary packages with:

ปรับปรุง apt-get && apt-get -y upgrade
apt-get -y install curl nano git

It is crucial that you always keep your server up to date. You can even enable automatic updates in order to achieve this.

2. Install and configure MariaDB

Install the latest MariaDB 10.0 server from the official Ubuntu repositories:

apt-get install -y MariaDB เซิร์ฟเวอร์

ต่อไป, we need to create a database for our Magento installation.

MySQL -u -p ราก
MariaDB [(ไม่มี)]> CREATE DATABASE magento;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'strong_password';
MariaDB [(none)]> Q

Do not forget to replace ‘strong_password’ with an actual strong password. You can even generate a strong password from the command line.

3. ติดตั้งเว็บเซิร์ฟเวอร์ Apache2

apt-get install apache2

4. ติดตั้ง PHP และ PHP โมดูลที่จำเป็น

การติดตั้งรุ่นล่าสุดที่เสถียร PHP รุ่น 7 และโมดูลที่จำเป็นทั้งหมด, วิ่ง:

apt-get install php7.0 libapache2-mod-php7.0 php7.0-mbstring php7.0-curl php7.0-zip php7.0-gd php7.0-mysql php7.0-mcrypt php7.0-xsl php-imagick php7.0-gd php7.0-cli php-pear php7.0-intl

Change few default PHP settings:

sed -i "s/memory_limit = .*/memory_limit = 256M/" /etc/php/7.0/cli/php.ini
sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.0/cli/php.ini
sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.0/cli/php.ini
sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.0/cli/php.ini

Enable the Apache2 rewrite module if it is not already done:

a2enmod rewrite

In order to activate the new configuration, restart the Apache web server using the following command:

บริการ apache2 เริ่มต้นใหม่

5. Install Composer

นักแต่งเพลงที่เป็นผู้จัดการการพึ่งพาสำหรับ PHP ที่คุณสามารถติดตั้งแพคเกจ. นักแต่งเพลงที่จะดึงในทุกห้องสมุดที่จำเป็นและการอ้างอิงที่คุณต้องการสำหรับโครงการของคุณ.

curl -sS | php
mv composer.phar /usr/local/bin/composer

6. Install Magento 2 from Github

Clone the Magento repository to the ~/ directory using the following command:

git clone /var/www/

Get the latest Magento 2 stable release:

cd /var/www/
git checkout $(git describe --tags $(git rev-list --tags --max-count=1))

Run composer to install all Magento dependencies:

composer install

To continue with the installation you can either use the installation wizard or the command line, in this guide we will use the latter.

bin/magento setup:install 
[email protected] 

If the installation is successful you will see something like below:

[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_1m0ezr

เรียกใช้ crontab command to create a cronjob

crontab -u www-data -e


* * * * * /usr/bin/php /var/www/ cron:run | grep -v "Ran jobs by schedule" >> /var/www/

ในที่สุด, set the correct permissions:

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

7. Configure Apache

สร้างสั่งโฮสต์เสมือนใหม่ในอาปาเช่. ตัวอย่างเช่น, you can create a new Apache configuration file named ‘magento.conf’ on your server:

touch /etc/apache2/sites-available/magento.conf
ln -s /etc/apache2/sites-available/magento.conf /etc/apache2/sites-enabled/magento.conf
nano /etc/apache2/sites-available/magento.conf

แล้วก็, เพิ่มบรรทัดต่อไปนี้:

<VirtualHost *: 80>
ServerAdmin [email protected]
DocumentRoot /var/www/
<Directory /var/www/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/
CustomLog /var/log/apache2/ common

รีสตาร์ท Apache เว็บเซิร์ฟเวอร์เพื่อให้การเปลี่ยนแปลงมีผลบังคับใช้:

บริการ apache2 เริ่มต้นใหม่

You should be now able to login to your Magento back-end by going to using the information you set when running the bin/magento setup:install.

8. Install and configure Varnish

To install Varnish, simply run the following command:

apt-get install varnish

From you Magento Admin dashboard click on the STORES link (left sidebar) -> Configuration -> ADVANCED -> System -> Full Page Cache

Uncheck “Use system value” and from the Caching Application list, select Varnish Cache (Recommended), save the configuration, click on the Varnish Configuration link and click on the Export VCL for Varnish 4 ปุ่ม. The varnish.vcl file which we will use will be exported in the /var/www/ ไดเรกทอรี.

Flush the Magento cache with:

php bin/magento cache:flush

Delete the /etc/varnish/default.vcl and symlink it to the exported varnish configuration.

rm -f /etc/varnish/default.vcl
ln -sf /var/www/ /etc/varnish/default.vcl

To change varnish port from 6081 ไปยัง 80, we need to edit the systemd service configuration.

สร้างใหม่ customexec.conf ไฟล์

mkdir -p /etc/systemd/system/varnish.service.d
nano /etc/systemd/system/varnish.service.d/customexec.conf

paste the following:

ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :80 -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,256m

and reload systemd units

systemctl ภูต-โหลด

Now we need to change Apache listening port from 80 ไปยัง 8080. ต้องการทำเช่นนั้น, open the Apache ports configuration file and change it as follows:

nano /etc/apache2/ports.conf

Listen 80 -> ฟัง 8080
nano /etc/apache2/sites-available/magento.conf

<VirtualHost *: 80> -> <VirtualHost *:8080>

If everything is setup correctly now you should be able to login to your Magento back-end by going to

ติดอยู่ที่อื่น? รับ VPS จากเราและเราจะทำทั้งหมดนี้สำหรับคุณ, ไม่คิดเงิน!

9. Install and configure Pound as SSL termination

Varnish doesn’t support SSL traffic, so you will need to install a proxy or load balancer like Pound to handle the SSL traffic. เพื่อทำสิ่งนี้, we will configure Pound to only listen on port 443 and pass the traffic to Varnish on port 80.

เป็นครั้งแรก, let’s install Pound with:

apt-get install pound

Open the Pound configuration file:

nano /etc/pound/pound.cfg

and set the following:

    Address ## this should be your server public IP address
    Port 443
    Cert "/etc/apache2/ssl/" ## path to your SSL certificate
    HeadRemove "X-Forwarded-Proto"
    AddHeader "X-Forwarded-Proto: https"
            ท่าเรือ 80

After you are done, restart your Apache and Varnish, and Pound:

service apache2 restart
service varnish restart
service pound restart

10. Further Optimizations

To further optimize your Magento installation from your Magento admin dashboard:

1. Go to STORES -> Configuration -> CATALOG -> Catalog -> Use Flat Catalog Category, select Yes and click Save Config.
2. Go to STORES -> Configuration -> ADVANCED -> Developer -> JavaScript Settings and set both Merge JavaScript Files and Minify JavaScript Files to Yes and click Save Config..
3. Go to STORES -> Configuration -> ADVANCED -> Developer -> CSS Settings and set both Merge CSS Files and Minify CSS Files to Yes and click Save Config.
4. Consider using a CDN – Content Delivery Network

Do not forget to flush the cache again:

php bin/magento cache:flush

You can also follow our guide on how to speed up Magento.

แค่นั้นแหละ. You have successfully installed Magento 2 with Memcache as a session storage and page caching, Varnish as a full page caching and Apache on your Ubuntu 16.04 VPS and you have set up Pound as SSL termination. For more information about how to manage your Magento installation, โปรดดูที่อย่างเป็นทางการ Magento เอกสาร.



เว็บไซต์นี้ใช้ Akismet เพื่อลดสแปม. เรียนรู้วิธีการที่ข้อมูลความคิดเห็นของคุณจะถูกประมวลผล.

เราใช้คุกกี้เพื่อให้คุณได้ประสบการณ์ออนไลน์ที่ดีที่สุด. โดยยอมรับคุณยอมรับการใช้คุกกี้ตามนโยบายคุกกี้ของเรา.