magento

naos 2017/10/27 19:48

Magento

testé sur CentOS 7

Ne fonctionne pas avec Mariadb

Fonctionne au minimum avec php 5.6 (CentOS 7 a la version 5.4)

Avec la version 2.2 est il nécessaire d'installer la version Php 7.0

# yum install httpd

# firewall-cmd –permanent –zone=public –add-service=http

# firewall-cmd –permanent –zone=public –add-service=https

# firewall-cmd –reload

Nécessite les dépots epel-release et ius-release

# yum install epel-release

# yum install https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0- 15.ius.centos7.noarch.rpm

# yum update

# yum remove php-common-5.4.16-42.el7.x86_64 php71u-mysqlnd-7.1.10-2.ius.centos7.x86_64 php-mysql-5.4.16-42.el7.x86_64 php-gd-5.4.16-42.el7.x86_64 php-5.4.16-42.el7.x86_64 php- common-5.4.16-42.el7.x86_64 php-cli-5.4.16-42.el7.x86_64 php-pdo-5.4.16-42.el7.x86_64 php- xml-5.4.16-42.el7.x86_64 php bcmath-5.4.16-42.el7.x86_64 php-mbstring-5.4.16-42.el7.x86_64

Suppression :
phpx86_645.4.16-42.el7@base4.4 M
php-clix86_645.4.16-42.el7@base8.8 M
php-commonx86_645.4.16-42.el7@base3.8 M
php-gdx86_645.4.16-42.el7@base342 k
php-mbstringx86_645.4.16-42.el7@base1.3 M
php-mysqlx86_645.4.16-42.el7@base232 k
php-pdox86_645.4.16-42.el7@base192 k
php-xmlx86_645.4.16-42.el7@base325 k
Suppression pour dépendances :
php-bcmathx86_645.4.16-42.el7@base58 k
php-fedora-autoloader
noarch1.0.0-1.el7@epel15 k
php-fpmx86_645.4.16-42.el7@base4.5 M
php-ldapx86_645.4.16-42.el7@base57 k
php-php-gettext
noarch1.0.12-1.el7@epel57 k
php-processx86_645.4.16-42.el7@base78 k
php-tcpdf
noarch6.2.13-1.el7@epel11 M
php-tcpdf-dejavu-sans-fonts
noarch6.2.13-1.el7@epel1.5 M
php-tidyx86_645.4.16-7.el7@epel53 k
phpMyAdmin
noarch4.4.15.10-2.el7@epel24 M
phpldapadmin

# yum install php70u php70u-pdo php70u-mysqlnd php70u-opcache php70u-xml php70u-mcrypt php70u-gd php70u-devel php70u-mysql php70u-intl php70u-mbstring php70u-json php70u-iconv

Vérification de la version de Php

# php -v

# php -me

Il faut avoir tous ces modules :

[PHP Modules]
bcmath
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hashiconv
intl
json
libxml
mbstring
mcrypt
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
readline
Reflection
session
SimpleXML
soap
sockets
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

# wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

# yum localinstall mysql57-community-release-el7-7.noarch.rpm

# yum install mysql-server

# mysql –version (doit être >= MySQL version 5.6.0)

# systemctl start mysqld

# mysql_secure_installation (Pour sécuriser la base de donnée)

# mysql -u root -p

create database magento;
GRANT ALL ON magento.* TO magento@localhost IDENTIFIED BY 'MOTDEPASSE';
exit

# mysql -u magento -p (pour vérifier l'accès à la base de données)

Selon les besoins d'utilisation du serveur il est possible de paramétrer les ressources qu'on souhaite donné au CMS

# nano /etc/php.ini

max_input_time = 30
memory_limit= 2G
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|
E_CORE_ERROR
error_log = /var/log/php/error.log
date.timezone = America/New_York

# systemctl restart httpd

Téléchargez l'archive sur https://magento.com/tech-resources/download il est nécessaire de s'enregistrer.

# cd /var/www/html/

# mv /home/USER/Téléchargements/Magento-CE-2.2.0-2017-09-26-07-35-18.tar.gz .

# tar -xvf Magento-CE-2.*.tar.gz

# useradd magento

# usermod -g apache magento

# 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:apache .

# chmod u+x bin/magento

# systemctl restart httpd

# su magento

$ cd bin

Installation de Magento avec le compte dédié magento

[magento@user bin]$ ./magento setup:install --admin-firstname="John" --admin-lastname="Doe"
--admin-email="admin@DOMAIN.TLD" --admin-user="john" --admin-password="MOTDEPASSE" --db-
name="magento" --db-host="localhost" --db-user="magento" --db-
password="MOTDEPASSE"
...
[Progress: 437 / 437]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_XXXXXX
Nothing to import.
$ exit

Notez /admin_XXXXX car il s'agit de votre interface d'administration.

Ajoutez des taches CRON pour continuellement reindexer le site, générer les emails et newsletters.

# crontab -u magento -e

* * * * * /bin/php /var/www/html/bin/magento cron:run | grep -v "Ran jobs by schedule" >>
/var/www/html/var/log/magento.cron.log
* * * * * /bin/php /var/www/html/update/cron.php >> /var/www/html/var/log/update.cron.log
* * * * * /bin/php /var/www/html/bin/magento setup:cron:run >>
/var/www/html/var/log/setup.cron.log


Contre les interceptions de paiement et de données sensibles des clients par clickjacking

Wikipédia : « Le détournement de clic, ou clickjacking, est une technique malveillante visant à pousser un internaute à fournir des informations confidentielles ou à prendre le contrôle de son ordinateur en le poussant à cliquer sur des pages apparemment sûre »

# nano /var/www/html/app/etc/env.php

changer : 'x-frame-options' => 'SAMEORIGIN',
pour : 'x-frame-options' => 'DENY',


Attribution des droits pour restreindre l'accès aux fichiers de app/etc

# find app/etc -type f -exec chmod g-w {} \;

# find app/etc -type d -exec chmod g-ws {} \;

Configuration du Virtual Host sur Httpd

# nano /etc/httpd/conf.d/05-magento.conf

<Directory /var/www/html/>
Require all granted
</Directory>
<VirtualHost *:80>
ServerName localhost
ServerAdmin webmaster@DOMAIN.TLD
DocumentRoot /var/www/html/
ErrorLog /var/log/httpd/magento.error.log
CustomLog /var/log/httpd/magento.access.log combined
<Directory /var/www/html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
</Directory>
</VirtualHost>

# systemctl restart httpd

# apachectl configtest

  • magento.txt
  • Dernière modification: 2018/03/10 17:39
  • par naos