A Clouding tens disponible la imatge preinstal·lada de Magento 2, però si t'interessa instal·lar-lo tu mateix, a continuació et mostrem un tutorial amb tots els passos per instal·lar el comerç electrònic Magento, prefereixes que te l'instal·li el nostre equip tècnic? Truca'ns o escriu-nos a soporte@clouding.io, ens posarem mans a l'obra de seguida perquè comencis el teu negoci en línia ja!
Magento és el sistema de gestió de continguts més popular per a llocs web de comerç electrònic. Aquest CMS s'utilitza tant en empreses petites com en empreses grans, ja que es pot adaptar a les necessitats de cadascuna gràcies als milers d'extensions i temes.
Magento utilitza MySQL, el llenguatge de programació PHP i parts de l'entorn de treball Zend. En el tutorial següent, explicarem com instal·lar Magento en un VPS de Clouding amb una instal·lació prèvia de LAMP sota Ubuntu 20.04.
Abans de començar
És important que abans de continuar amb el tutorial tinguem un servidor VPS a Clouding amb el següent:
- És recomanable que el nostre VPS tingui 2GB o més de RAM a causa de les exigències de processament que té Magento.
- Per continuar correctament és important que el VPS tingui un LAMP instal·lat (Linux, Apache, MySQL, PHP). A més de tenir una configuració bàsica.
Preparació del servidor per a Magento
Primer cal actualitzar el sistema:
# apt update && apt upgradeDesprés cal instal·lar MYSQL:
# apt install mysql-serverInstal·la apache2:
# apt install apache2Instal·lem PHP:
# apt-get install php7.4Magento requereix unes dependències de PHP addicionals per funcionar correctament:
# apt install php7.4-fpm php7.4-common php7.4-mysql php7.4-gmp php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-gd php7.4-xml php7.4-cli php7.4-zip php7.4-bcmath php7.4-soapHauràs de baixar Elasticsearch per poder instal·lar magento 2:
# cd /opt
# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1-amd64.deb
# dpkg -i elasticsearch-7.6.1-amd64.deb
# systemctl start elasticsearchConfiguració d'Apache per a Magento
Abans de baixar i instal·lar Magento, Apache ha d'estar configurat per gestionar correctament les tasques de trànsit i computació de Magento, i caldrà instal·lar i activar alguns mòduls addicionals.
Primer comprova que estem fent servir la versió 2.4 d'Apache amb:
# apache2 -vActiva el mòdul rewrite per a Apache:
# a2enmod rewriteCrea un fitxer de configuració per a Magento:
# touch /etc/apache2/sites-available/magento.conf
I afegeix-hi el següent:
<Directory /var/www/html/vhosts/magento/www>
Require all granted
</Directory>
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/vhosts/magento/www
ErrorLog /var/www/html/vhosts/magento/logs/error.log
CustomLog /var/www/html/vhosts/magento/logs/access.log combined
<Directory /var/www/html/vhosts/magento/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>És important que d'aquesta configuració modifiquis els paràmetres ServerName, ServerAlias, ServerAdmin i DocumentRoot.
Creem els directoris on copiarem Magento:
# mkdir -p /var/www/html/vhosts/magento/{logs,www}Activa el VirtualHost per a Magento:
# a2ensite magento.confI torna a carregar la configuració d'Apache:
# systemctl reload apache2Creació de la base de dades
Inicia sessió dins de MySQL amb l'usuari root:
# mysql -u root -pCrea la base de dades per a Magento, un usuari i configura els permisos. Per a aquest tutorial hem decidit anomenar la base de dades i l'usuari Magento. Substitueix p4ssw0rd per una contrasenya segura.
CREATE DATABASE magento;
CREATE USER 'magento'@'localhost' IDENTIFIED BY 'p4ssw0rd';
GRANT ALL PRIVILEGES ON magento.* TO 'magento';Surt de MySQL shell:
quitConfiguració de PHP
Has de modificar dos paràmetres de la configuració de PHP perquè Magento funcioni correctament. Edita els fitxers /etc/php/7.4/cli/php.ini i /etc/php/7.4/apache2/php.ini. Busca els paràmetres següents i modifica'ls així:
memory_limit = 2G
date.timezone = Europe/MadridBaixa Magento
Baixa Magento a la carpeta d'instal·lació; per fer-ho fem servir les ordres següents:
# cd /var/www/html/vhosts/magento/www/
# git clone https://github.com/magento/magento2.git /var/www/html/vhosts/magento/www/Configuració d'usuaris i permisos
Crea un usuari per als fitxers de Magento. Per simplificar l'anomenarem magento:
# useradd magentoA continuació afegeix-lo al grup d'Apache (el www-data):
# usermod -g www-data magentoI un cop creat l'usuari configura els permisos de la manera següent. Executa les ordres següents en l'ordre establert:
# cd /var/www/html/vhosts/magento/www
# find var vendor pub/static pub/media app/etc -type f -exec chmod g+w {} \;
# find var vendor pub/static pub/media app/etc -type d -exec chmod g+ws {} \;
# chown -R magento:www-data ../../magento
# chmod u+x bin/magentoInstal·lació de Magento
hauràs de baixar i actualitzar el composer:
# curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
# composer installFes la instal·lació amb l'ordre:
# bin/magento setup:install --db-host=localhost --db-name=magento --db-user=magento --db-password=p4ssw0rd --admin-firstname=Soporte --admin-lastname=Clouding --admin-email=your@emailaddress.com --admin-user=soporte --admin-password=p4ssw0rd --language=en_US --currency=USD --timezone=Europe/Madrid --use-rewrites=1És important que se substitueixin tots els valors d'exemple pels que vulgueu configurar:
- base-url: El domini que cal configurar, tingues en compte que si no vols SSL hauràs de posar http.
- admin-firstname / admin-lastname: És el nom complet de l'administrador.
- admin-email: El correu electrònic per restablir la contrasenya i per rebre les notificacions
- admin-user / admin-password: Són les credencials per iniciar sessió al tauler de control de Magento.
- db-name: Nom de la base de dades
- db-host: Amfitrió del servidor MySQL, si és el mateix servidor utilitza localhost.
- db-user: Usuari de la base de dades.
- db-password: Contrasenya configurada per a la base de dades.
Assigna permisos als directoris:
# chown -R www-data:www-data /var/www/html/vhosts/magento/I ja està! Ja pots accedir a la teva botiga Magento.
Per accedir al tauler d'administració al final de la instal·lació veuràs :
Magento Admin URI: /admin_XXXXXXPer accedir al tauler d'administració serà tan senzill com www.ejemplo.com/admin_xxxxx (el resultat de Magento Admin URI)
Configuració SSL
Comença instal·lant certbot:
# apt install certbot python3-certbot-apache# certbot --apache -d ejemplo.com -d www.ejemplo.comAmb això es redirigirà automàticament per HTTPS.
Configuració de Magento
Si has accedit al tauler de Magento veuràs que han aparegut uns avisos dels Cron Jobs. Perquè funcioni correctament cal configurar el següent:
Configura Cron Jobs
Obre el crontab amb l'usuari magento que hem creat:
# crontab -u magento -eSi és la primera vegada que fas servir cron, t'apareixerà un missatge que et demanarà quin editor vols fer servir. Selecciona'n un amb un número.
Al final del fitxer afegeix el següent:
* * * * * /usr/bin/php /var/www/html/vhosts/magento/www/bin/magento cron:run | grep -v "Ran jobs by schedule" >> /var/www/html/vhosts/magento/www/var/log/magento.cron.log
* * * * * /usr/bin/php /var/www/html/vhosts/magento/www/update/cron.php >> /var/www/html/vhosts/magento/www/var/log/update.cron.log
* * * * * /usr/bin/php /var/www/html/vhosts/magento/www/bin/magento setup:cron:run >> /var/www/html/vhosts/magento/www/var/log/setup.cron.logNota: Recorda canviar /var/www/html/vhosts/magento/www per la ruta de la instal·lació de Magento que has configurat. És important que php s'executi amb la ruta absoluta /usr/bin/php perquè funcioni correctament a Cron Jobs.
La primera línia s'encarrega de reindexar. La segona i la tercera són necessàries per a l'administrador de components i l'actualització del sistema.
Ara, per comprovar que aquesta configuració funciona, sortim de Magento i tornem a iniciar sessió; en aquest cas no hauríem de veure cap notificació.
Configurar les opcions X-Frame
Et recomanem encaridament que inhabilitis la capacitat de mostrar la botiga Magento en un frame, d'aquesta manera evitem atacs clickjacking. Per fer-ho hem de modificar el fitxer app/etc/env.php.
Canvia SAMEORIGIN per DENY, com es mostra a continuació:
'X-frame-options' => 'DENY',Així evites que els atacants incrustin la teva botiga en un frame (per exemple, en un lloc maliciós que imiti la teva botiga) en un intent d'interceptar pagaments i altra informació confidencial del client.
Recorda, si tens consultes sobre aquesta o qualsevol altra qüestió relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per al que necessitis, consulta'ns!