Install Packages¶
sudo apt update
sudo apt upgrade
sudo hostnamectl set-hostname HOSTNAME
sudo apt-get install apache2 mysql-server unzip
sudo apt-get install software-properties-common
sudo apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-soap php7.2-bcmath php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mcrypt php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip
Modify php.ini¶
vi sudo nano /etc/php/7.2/apache2/php.ini
file_uploads = On
allow_url_fopen = On
short_open_tag = On
memory_limit = 512M
upload_max_filesize = 128M
max_execution_time = 3600
Database Setup¶
sudo mysql
CREATE DATABASE magento;
CREATE USER 'magentouser'@'localhost' IDENTIFIED BY 'PASSWORD';
CREATE USER 'magentouser'@'%' IDENTIFIED BY 'PASSWORD';
GRANT ALL ON magento.* TO 'magentouser'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
GRANT ALL ON magento.* TO 'magentouser'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Download latest magento version¶
- Magento Communit Edition Change the permissions for this folder
Apache Configuration¶
rm /etc/apache2/sites-enabled/000-default.conf
sudo nano /etc/apache2/sites-available/magento.conf
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot /var/www/html/
ServerName site.com
ServerAlias www.site.com
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Cron configuration¶
sudo crontab -u www-data -e
* * * * * /usr/bin/php /var/www/html/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/magento/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/update/cron.php >> /var/www/magento/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/bin/magento setup:cron:run >> /var/www/magento/var/log/setup.cron.log
Finish instalation¶
http://server_ip_or_server_name/