Search the Community
Showing results for tags 'ISPConfig'.
-
Installer de A à Z son Serveur VPS ou dédié sur debian 8 + ISPCONFIG par Jean François Guilard - 71100 Chalon sur Saone - [email protected] ( tuto fréquemment mis a jour ) Dans cet exemple nous choisissons un serveur VPS OVH mais le tuto est valable pour tous les serveurs VPS de n'importe quel prestataire et même les serveurs 100% dédiés. Vous lirez dans plein de topics : "Si tu n'es pas un administrateur de génie, alors ne tente pas l'expérience des serveurs dédiés car c'est impossible. Tu dois faire appel à un professionnel payant." Nous allons tenter ici de casser ce discours et de faire en sorte que vous puissiez vous aussi avoir votre serveur dédié avec juste un minimum de connaissances. Lorsque votre opérateur vous livre votre VPS, sa version de débian est "nue" (Sauf cas spéciaux). C'est à dire que le serveur démarre, charge linux, comprend le html... mais c'est à peu prêt tout. Pour le reste c'est une coquille vide qui attend patiemment que quelqu'un vienne lui dire quoi faire. Il va donc falloir que ce soit vous qui le lui disiez. Dans ce tuto vous allez apprendre à installer les fichiers nécessaires pour que le serveur comprenne le PHP, utilise une base de donnée et supporte les fonctions utiles à prestashop, mais aussi le sécuriser, le clôturer et punir les méchants qui souhaiteraient lui faire du mal.. Vous allez également installer un gestionnaire graphique de serveur, accessible depuis internet, afin de pouvoir gérer celui ci plus facilement sans avoir besoin d'en apprendre les lignes de commandes. J'ai choisi ISP-Config car il à l'avantage d'être 100% gratuit et assez simple à comprendre. Pour les novices, comptez environ 1h30 pour tout faire.. Alors ... c'est parti ! (les modifs pour débian 8 sont marquées en ROUGE) certaines spécifiques à débian 7 seront marquées en BLEU Nous allons avoir besoin des données que nous avons reçu d’OVH ou de votre opérateur lors de la création du VPS. Notamment son nom (vpsxxxxx.ovh.net) ou (xxxxxxx.vpsoperateur.xxx) Le mot de passe root pour le ssh L’adresse IP du serveur 1 / Si vous avez déjà tenté quelque chose sur votre VPS il faut le réinstaller. : Vous devez vous rendre dans votre espace d'administration de votre compte sur le site OVH Vous cliquez sur le nom de votre VPS En haut à droite une case est marquée "REINSTALLER" Vous choisissez la version de debian 8 2/ Préparation du serveur : Nous allons tout paramétrer par SSH. Donc il faut télécharger un programme pour cela. Par exemple le logiciel Putty : http://www.clubic.co...0874-putty.html Lancez putty, puis connectez vous sur l’IP de votre serveur. Une fenêtre noir apparait, c’est la que tout se passe. Tapez votre login : root Puis votre mot de passe reçu sur le mail de confirmation que vous venez de recevoir. Nous allons utiliser un éditeur de fichier pour paramétrer notre serveur. Debian 8 est normalement fourni avec l'utilitaire nano. Il est parfait pour faire notre paramétrage et en plus est complet. Pour savoir s'il est bel et bien déja préinstallé, il suffit de taper l'ordre "Nano"' Si un editeur noir s'affiche, c'est tout bon. un CTRL X reviendra aux lignes de commandes. Si un message d'erreur s'affiche alors allez au chapitre 2b, effectuez les modifs et revenez ici après A noter que : - pour annuler la saisie : CTRL Z - Pour enregistrer le fichier : CTRL X, puis Y pour confirmer et ENTREE pour valider le nom de fichier - Pour débloquer si l'on a fait une mauvaise manip : CTRL C 2a : Verifier le hostname 2a-1 : Edit du 12/06/2019 : UN PETIT TUTO DANS LE TUTO POUR PERSONNALISER VOTRE HOSTNAME (si ca ne vous interresse pas, direction chapitre 2a-2) : Vous remarquerez que votre serveur porte un nom du genre ns12345678.IP.22.22.22.22.ovh.net C'est moche et pas du tout personnel. Vous pouvez changer cela en faisant plusieur choses : - Allez sur votre compte OVh, puis dans la ligne de votre domaine vous allez dans les DNS. . Vous ajouter une zone A et lui donnez un nom comme "monserveur.mondomaine.com". Ensuite vous la faite pointer sur l'IP de votre serveur. - Dans votre serveur, vous tapez : "nano /etc/hostname" et vous mettez votre nom d'hote c'est a dire : monserveur (sans le reste de la zone A) ensuite on tape "nano /etc/hosts" et vous remplacez les deux lignes contenant le nom de votre ancien serveur en mettant le votre a la place par exemple : 127.0.0.1 localhost 127.0.1.1 monserveur.mondomaine.com monserveur # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters 22.22.222.22 monserveur.mondomaine.com monserveur un CTRL X, un validation et voila.. Ensuite un "reboot" pour mettre en place pour de vrai. N'oubliez pas que votre DNS doit se propager et que cela peut prendre 24h 2a-2 : Si vous ne souhaitez pas changer votre hostname, une fois logué en root, la première chose à faire est de vérifier que votre host est bien configuré (notamment si vous n'êtes pas sur un serveur VPS OVH, ou si vous êtes sur un vrai dédié : "nano /etc/hostname" Vous vérifiez que le nom de votre serveur est présent et bien complet avec le nom par défaut, sinon vous corrigez. 2b : Changer le mot de passe du root Pour mieux vous rappeler du mdp root, nous allons le changer. Tapez « passwd root » Et choisissez un mot de passe qui vous plait. 2c : Faire la mise à jour des sources et installer les ordres critiques Pour mettre les bonnes sources d'applications pour votre débian, on fait "nano /etc/apt/sources.list" (ou "vi /etc/apt/sources.list" si nano n'est pas encore installé) et on efface tout ce qu'il y a d'écrit. Ensuite on rempli avec les choses suivantes : Pour débian 8 mettez à jour la liste des sources pour qu'elle contienne ceci : deb http://ftp.us.debian.org/debian jessie main contrib deb http://security.debian.org jessie/updates main contrib non-free deb http://ftp.us.debian.org/debian jessie-updates main Il se peut que le sourcelist ne soit plus d'actualité au moment ou vous lisez.. Au cas ou, rajoutez juste les contrib et non free a la fin de vos lignes existantes. Maintenant on lance la prise en compte des nouvelles sources « apt-get update », validez Si erreur "There is no public key available for the following key IDs" : apt-get install debian-archive-keyring apt-key update Normalement à ce stade on met à jour notre linux, mais pour éviter des erreurs plus tard nous allons dès maintenant installer des appli critiques : Installation de dialog (au cas ou) : "apt-get install dialog" puis les taches cron : apt-get install cron puis les complément de apt : " apt-get install apt-utils" Puis on met à jour notre linux “apt-get upgrade”, validez Maintenant que le système est à jour, on va pouvoir travailler correctement 2d : Configurer la langue et les caractères Par défaut, le serveur est configuré pour en_EN.utf8, nous allons le paramétrer pour les caractères français : « dpkg-reconfigure locales » Un panneau apparait. Faites naviguer la liste et cochez fr_FR.UTF-8, puis tab et validez Dans région par défaut, choisissez « fr_FR.UTF-8 » Nous avons donc configuré la langue française et le type de caractère à UTF-8 (ça tombe bien c'est ce qu'utilise prestashop) Note : Si le message "no locales installed on this server" apparait, lancez l'installation avec un "apt-get install locales" puis recommencez le chapitre 2 2e : Installer les programmes obligatoires Installation de mysql : “apt-get install mysql-server mysql-client” Vous devrez confirmer, puis donner le mot de passé que vous voulez pour l’utilisateur root Notez que sous Debian 8 (SI vous êtes en debian 7 allez directement à l'install d'apache) seul Mysqli est accepté, donc on install : "apt-get install php5-mysql" Cela empechera une futur erreur de ispconfig Installation d’apache : « apt-get install apache2 » Vous devrez confirmer en tapant Y à la question. Installer PHP : apt-get install php5 apt-get install php5-cgi apt-get install libapache2-mod-fcgid Et on relance le service « /etc/init.d/apache2 restart » Installation des modules optionnelles (redimensionnement graphique, module de traduction etc.. ) selon votre utilisation vous pouvez en ajouter ou en retirer : « apt-get install php5-curl php5-gd php-pear php5-pspell php5-recode php5-snmp php5-sqlite» Et on reboot « Reboot » La fenêtre SSH va se fermer. Relancez putty et reconnectez-vous en root avec votre nouveau mot de passe. Installation de phpmyadmin : « apt-get install phpmyadmin » Sur l’application en route, pointez « apache » avec la barre d’espace et validez A la prochaine question sur dbconfig-common, dites non. Optionnels mais conseillés : Installation de l’antivirus et d'autres modules (comme unzip par exemple). - Notez que vous pouvez adapter ces lignes. Par exemple, si vous ne voulez pas de serveur de mail sur votre serveur (vos mails sont gérés par OVH, par exemple), votre ligne pourra ressembler à ceci : « apt-get install zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl daemon zip >> , puis vous passez direct au chapitre 2e-b - Sinon, la ligne complète donne ceci : « apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon zip » Ce qui installe clamAV, amavisd et spam-assassin, ainsi que les compresseurs et décompresseurs Comme c'est amavisd qui sera utilisé avec isp-config et que ce logiciel se sert des configs de spam-assasin, on va pouvoir l'annuler. "/etc/init.d/spamassassin stop" "update-rc.d -f spamassassin remove" On installe le serveurs de courrier et les appli utiles (serveur de mail et webmail) : « apt-get install postfix postfix-mysql getmail4» Aux questions répondez : « site internet », puis renseignez votre nom de VPSxxx.ovh.net (ou votre hostname si vous n'êtes pas chez ovh), puis SSL « non » Maintenant, on autorise mySQL à écouter partout : « nano /etc/mysql/my.cnf » Commentez la ligne bind-address = 127.0.0.1 Ce qui donne « # bind-address = 127.0.0.1 » Sauvez le fichier Relancez le service « /etc/init.d/mysql restart » Pour gagner de la vitesse de chargement, on active la directive "Expires" qui permet aux navigateurs de ne pas recharger les images a chaque fois : a2enmod expires 2e-b : Encore quelques programmes "apt-get install openssl rkhunter binutils" On installe maintenant FCGI, suExec, Pear, mcrypt et quelques modules utiles: « apt-get install libexpat1 php5-cgi apache2-suexec php-auth mcrypt » N'oubliez pas cette ligne necessaire pour l'installation de prestashop : apt-get install php5-intl La aussi j'ai adapté l'ancien tuto pour qu'il soit compatible avec debian 8 Puis on active les modules de redirections etc.. “a2enmod suexec rewrite ssl actions include” “a2enmod dav_fs dav auth_digest” On relance le service : « /etc/init.d/apache2 restart » Installation du serveur FTP : « apt-get install pure-ftpd-common pure-ftpd-mysql » « nano /etc/default/pure-ftpd-common » Et on change sur ce fichier la ligne VIRTUALCHROOT=false, en VIRTUALCHROOT=true Et on sauve Puis on relance le service « /etc/init.d/pure-ftpd-mysql restart » Optionnel (utile que si vous souhaitez ne pas utiliser le serveur DNS de votre opérateur) : Installation du serveur DNS « apt-get install bind9 dnsutils » 2e-c : Installation des logs et des stats adaptés à ISPCONFIG et installation de fail2ban: “apt-get install vlogger webalizer awstats geoip-database” « nano /etc/cron.d/awstats » Et dans ce fichier commentez toutes les lignes Installation de fail2ban : « apt-get install fail2ban » Puis on crée les fichiers de configuration pour chaque service « nano /etc/fail2ban/jail.conf » en mettant ces lignes en enabled= true: [ssh] enabled = true port = ssh filter = sshd logpath = /var/log/auth.log bantime = 86400 maxretry = 2 [pure-ftpd] enabled = true port = ftp,ftp-data,ftps,ftps-data filter = pure-ftpd logpath = /var/log/syslog bantime= 7400 maxretry = 3 [postfix] enabled = true port = smtp,ssmtp,submission filter = postfix logpath = /var/log/mail.log bantime = 86400 maxretry = 2 Moi j'ai été hard, j'ai mis 2 tentative maximum en erreur car les russes ont bien compris que tout le monde mettait 5 et ils tentent que 3 fois par 20 minutes... Vous pouvez remonter à 5 si vous avez peur de vous tromper vous même ... Mais bon si vous connaissez vos codes, normalement c'est zero mauvaises tentatives... 2e-d : INSTALLATION D'ISPCONFIG : (Avant d'installer ispconfig, si vous voulez avoir php-fpm en plus du reste : apt-get install php5-fpm) Lancez cette ligne de commande : ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf Cela corrigera chez certains le fait qu'il n'y a pas de virtualhost SSL d'activé et évitera le message 'NameVirtualHost *:443 has no VirtualHosts' Maintenant tapez les ligne suivantes : cd /tmp wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz tar xfz ISPConfig-3-stable.tar.gz cd ispconfig3_install/install/ php -q install.php (Si un message a propos de patch absent s'affiche, tapez apt-get install patch et relancez php -q install.php) Maintenant il faut remplir les zones demandées par ISPConfig : Select language (en,de) [en]: Faire entrer Installation mode (standard,expert) [standard]: Faire entrer Full qualified hostname (FQDN) of the server, eg server1.domain.tld [server1.example.com]: Taper le nom du Hostname du serveur MySQL server hostname [localhost]: Faire entrer MySQL root username [root]: Faire entrer MySQL root password []: Taper ici le mont de passe que vous avez défini à l'installation de MySql MySQL database to create [dbispconfig]: Faire entrer MySQL charset [utf8]: Faire entrer La il va y avoir une création des clés de sécurité puis il redemande ensuite de nouvelles informations : Country Name (2 letter code) [AU]: Saisir les deux lettres du pays du serveur (FR pour france) State or Province Name (full name) [some-State]: Taper le nom de votre département ou laisser vide Locality Name (eg, city) []: Taper le nom de la ville ou laisser vide Organization Name (eg, company) [internet Widgits Pty Ltd]: Taper le nom de la Boutique, ou laisser vide Organizational Unit Name (eg, section) []: Faire entrer Common Name (eg, YOUR name) []: Taper votre nom de famille ou laisser vide Email Address []: Taper votre adresse email de contact webmaster ou laisser vide Il mouline et termine l'installation. L’installation de base est terminée. ISPCONFIG GERE MAINTENANT LET'S ENCRYPT DONC : mkdir /opt/certbot cd /opt/certbot wget https://dl.eff.org/certbot-auto chmod a+x ./certbot-auto ./certbot-auto Puis quand il demande si on veux créer le certificat on fait cancel. C'est ISPC3 qui le fera pour nous. Pour acceder a ispconfig : Vpsxxxxx.ovh.net :8080 (ou votre hostname:8080 ou votre IP:8080 Pour acceder à phpmyadmin Vpsxxxxx.ovh.net/phpmyadmin Attention, si vous êtes dans les dernières versions, l'accès à phpmyadmin se fait avec : Vpsxxxxx.ovh.net:8080/phpmyadmin 3/ Réglages essentiels de sécurité 3a : Edition de php.ini pour autoriser l’importation des gros fichiers dans phpmyadmin : « nano /etc/php5/apache2/php.ini » En face de max_input_vars, mettre 20000 (Pour les fichiers de traduction de prestashop) Et mettez 20M en face de upload_max_filesize = !! Attention !! si vous choisissez le mode PHP-CGI pour vos site vous devez faire la même chose dans le dossier /etc/php5/CGI On relance le serveur : /etc/init.d/apache2 restart 3b : securiser et changer le port d’accès pour ispconfig « nano /etc/apache2/sites-available/ispconfig.vhost » Vous trouverez ceci : Listen 8080 NameVirtualHost *:8080 <VirtualHost _default_:8080> <IfModule mod_fcgid.c> À changer en ceci si vous voulez le port 7654 à la place du 8080 : Listen 7654 NameVirtualHost *:7654 <VirtualHost _default_:7654> <IfModule mod_fcgid.c> 3c : Changer l’adresse d’accès de phpmyadmin « nano /etc/phpmyadmin/apache.conf » Vous trouverez ceci : Alias /phpmyadmin /usr/share/phpmyadmin A changer en ceci (ou monraccourci = l’adresse souhaitée) Alias /monraccourci /usr/share/phpmyadmin 4 : Parametrer un nouveau site dans ISPCONFIG Dans ISP CONFIG : / Enlever les prefixes : Si on ne compte pas utiliser son dédier pour vendre des sites a des clients, on peut enlever les préfixes automatiques que ISP config met dans les paramètres. Onglet « system » : « Interface config » : onglet « sites » Supprimer tous les préfixes déjà préconfigurés. Cela évitera de ne plus se rappeler des différents login que ispconfig aurait modifié lui-même. / Créer son propre compte client : Histoire de ne pas avoir de messages de rappel a répétition ou de zones vides dans la config. Onglet « Client » « Ajouter un nouveau client » et on renseigne les zones / On crée l’espace du futur site web : Onglet « Site »: « Add new site » Sous onglet « domaine » : - Serveur : sélectionner son serveur - Client : le fameux client créé précédemment - Adresse ip : * (choisir l’etoile et ne pas choisir l’adresse IP du serveur, sauf si vous ne voulez jamais rajouter d’autres sites. En gros laisser l’étoile) - Domaine : nomdomaine.com (ne pas mettre le www.) - De CGI à SuEXEC, remplissez selon les technologies utilisées - Auto sous-domaine : *. - SSL : cochez si vous administrez via SSL - ]PHP : choisissez votre fonctionnement de PHP (fast-CGI) - Actif : Coché (évidemment) Et : ENREGISTRER / On crée l’utilisateur FTP pour le site : Onglet « site » : Sous onglet « utilisateur FTP » + Nouvel utilisateur FTP : puis Site web : on choisi le domaine concerné Nom d’utilisateur : Choisir un login (qui ne sera pas modifié puisqu’on a supprimé les préfixes) Choisir un mot de passe Quota de disque : -1 (c’est vous donc pas de restriction) Actif : ben oui On peut maintenant accéder via FTP a l’espace web et uploader le site dans le dossier « web » / La base de données : Sous ISPConfig, J’ai essayé l’onglet « base de données » de l’onglet « site », mais ça ne fait rien. Même si on crée un nouvelle base, cela ne la crée pas réellement (PHPmyadmin le confirme) Donc je passe par PHPmyadmin pour créer ma base de données puis l’importation pour transférer les tables . Sous phpmyadmin créez une nouvelle base de donnée (rappelez vous de son nom pour plus tard), puis dans cette base de données, grâce à l’onglet « importer », restaurez votre sauvegarde SQL que vous avez faite via votre mutualisé. Pour cela cliquez sur parcourir et allez cherchez le fichier Zip ou sql (c’est selon) puis cliquez sur « executer ». Ca mouline …. On attends (ça peut durer longtemps) … et hop c’est bon. Dans privileges, créez un nouvel utilisateur, donnez lui un nom, laissez « tout serveur », donnez lui un mot de passe, et les privilèges passe partout. (vous pouvez aussi donnez tous les droits sur cette base uniquement, en cliquant sur le choix plus bas, plus facile mais c’est plus risqué) . Cliquez sur « éxecuter » La base est prête 5 / Pointer votre DNS de domaine sur votre serveur Chez votre registar, accédez au zones DNS, puis dans la zone A, mettez votre serveur vps.xxxxx.ovh.com ou votre adresse IP de serveur Dans la zone MX, faites pareil (si vous voulez gérer vos mails sur votre serveur) 6 / Sécuriser son accès SSH Actuellement votre accès à distance est sur ROOT sur le port 22, c'est à dire sur l'utilisateur maître (un dieu en somme) sur le port par défaut. Nous allons changer cela afin de compliquer une éventuelle tentative d'utilisation de votre SSH par un tiers. 6a : Changement du port d'accès : Avec putty, accedez à votre serveur et loguez vous en root. puis : "nano /etc/ssh/sshd_config" vous allez avoir ceci : # What ports, IPs and protocols we listen for Port 22 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 1 (Quelques fois protocol 2) à changer en ceci (ou 7654 est à changer dans le numéro de port que vous souhaitez) : # What ports, IPs and protocols we listen for Port 7654 # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 Protocol 2 et sauvegardez 6b : Maintenant nous allons créer un utilisateur autre que root: Création de l'utilisateur : "adduser teteatoto" Pas bien compliqué ça ... Mais pour l'instant root peut toujours accéder au SSH 6c : Interdiction du SSH à root et autorisation d'accès à teteatoto Attention : Cette étape va interdire le login SSH de root, ne vous trompez pas concernant le nouveau nom d'utilisateur. Si vous l'oubliez = Réinstallation "nano /etc/ssh/sshd_config" vous allez avoir ceci : # Authentication: LoginGraceTime 120 PermitRootLogin yes StrictModes yes à changer en ceci : # Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes AllowUsers teteàtoto sauvez le fichier relancez le service : "/etc/init.d/ssh restart" Dorénavant pour accéder au serveur en ssh vous devrez vous loguer en tant teteatoto (et mot de passe de teteatoto), puis dès que vous accedez à la ligne de commande, vous devrez demander les droits du root pour travailler à sa place avec la lignes suivante : "su -" Il sera demandé le mot de passe du root et une fois fait, hop vous avez pris sa place 7 / METTRE A JOUR CLAMAV SOUS DEBIAN si vous l'avez installé : ceci a été corrigé sous la dernière version d'ISPCONFIG, on ne fait rien donc .. 8 / VERIFIER QUE LE MODULE MOD_EXPIRES EST BIEN ACTIF Pour gagner de la vitesse dans l'affichage des pages il est important que les navigateurs sachent quand ils doivent recharger les images et quand les prendre dans le cache. Pour cela c'est le module 'expires' qui donne les instructions. Debian n'active pas toujours ce module par défaut, alors dans le doute on va le vérifier et si besoin l'activer : On lance la commande suivante : "a2enmod expires" Si on à la réponse 'expires already enabled' alors on est bon, rien besoin de rajouter. Si la réponse est 'Enabling module expires. To activate the new configuration, you need to run: service apache2 restart' Alors on écoute et on tape sagement : "service apache2 restart" Et hop, google vous dira merci. DERNIERS PETITS REGLAGES ET CHARGEMENTS : Je rajoute quelques utilitaires qui seront bien utiles si vous voulez décompresser des fichiers de sauvegardes ou bien en créer ou les transférer sur une autre serveur.. apt-get install unzip zip ftp Comme son nom l'indique unzip decompresse des archives zip, son petit frère zip les crée, et ftp est le mode ligne de commande pour transférer sur un ftp distant. Il ne reste plus qu'a créer le script qui va bien.. IMPORTER UNE BASE EXISTANTE MYSQL : Astuce pour ceux qui souhaitent faire une importation sans risque d'erreur d'un PHP.ini ou de phpmyadmin : en ssh : cd /var mkdir temp Dans le phpmyadmin de l'ancien serveur, faire une exportation de la bdd en format zip Copier ensuite ce fichier zip de vitre PC au nouveau VPS dans ce dossier temporaire. Lancez un unzip nomdelabase.zip, qui donnera un fichier nomdelabase.sql dans le nouveau phpmyadmin du vps créer la base de données (par exemple basetoto) Puis un nouveau uilisateur pour cette base. Ensuite en SSh faites : mysql -u utilisateur -p nomdelabasevps < nomdelabase.sql il suffit ensuite de donner le mot de passe de l'utilisateur et l'importation se fait en quelques secondes seulement.. puis : rm nomdelabase.* et le dossier est de nouveau propre De plus on contourne ainsi les limitations des PHP.ini ce qui sécurise encore un peu plus et permet de laisser le upload_max_filesize par défaut.. et voila. Vous avez terminé. EDIT DU 27-05-19 : Prestahop est compatible jusqu'au PHP 7.0 .voir 7.1 selon les versions N'installez pas de version de PHP plus haute que celles ci, sinon plantage assuré Vous venez de créer votre serveur dédié rien qu'à vous et en plus vous l'avez fait tout seul ! Félicitation ! Vous avez sans doute économisé plusieurs centaines d'euros de main d’œuvre et je sais par expérience que se lancer dans l'e-commerce demande de faire des économies un peu partout au début. Bonne administration et n’hésitez pas à poser des questions si vous rencontrez un soucis.
- 208 replies
-
- 5
-
Bonjour, Voilà près de 5 heures que j'essai de trouver une solution sur différent forum et tuto, mais je n'ai toujours pas de résultat. J'ai une boutique aaa.com Je souhaite ajouter un autre domaine bbb.fr en multiboutique (même cat., produits, ....) Je suis sur serveur VPS LWS sur ISP Config. Voici les manipulations que j'ai effectué: Sur le panel des domaines de mon hébergeur, j'ai modifié le DNS de bbb.fr en direction de mon serveur. Dans ISP Config j'ai créé un alias à mon domaine aaa.com: Alias : bbb.fr Site web parent: aaa.com Type redirection: R=301,L Chemin de redirection: "vide" Sous-domaine auto: Aucun Redirection SEO: www.domain.tld => domain.tld Actif Dans PS 1.6.0.14: Préférences->Paramètres Généraux-> J'ai activé la multi-boutique Paramètres avancés->Multiboutique->J'ai ajouté une nouvelle boutique avec les paramètres suivant: Domaine: bbb.fr Domaine SSL: bob.fr URL Physique: / URL virtuel : "vide" URL finale: http://bbb.fr Dans mon back office, je gère les deux boutiques sans problème avec le sélecteur. Mais quand j'appel ma boutique bbb.fr dans mon navigateur, j'ai toujours le message du serveur: ------------- It works!This is the default web page for this server. The web server software is running but no content has been added, yet. --------------- J'ai rebooté le serveur, j'ai essayé de trouver des solution, mais tous ce que j'ai trouvé dans les différents forums ne résous pas mon problème. Est-ce que quelqu'un aurais une idée? une solution? Est-ce une mauvaise configuration de serveur? de PS? Merci d'avance pour vos retours QR
- 4 replies
-
- ispconfig
- multiboutique
-
(and 2 more)
Tagged with:
-
Après mon tuto pour debian 7 et apache, je vous propose un tout nouveau tutoriel pour créer votre propre serveur VPS mais sous Nginx cette fois ci. Pourquoi nginx ? Car il est dit que nginx est de 3 à 4 fois plus reactif qu'apache, (mais aussi bien plus complexe à mettre en oeuvre). Avec mon serveur de test, ma latence de départ (le fameux wait) est passée de 1 seconde à 0,2 seconde. un exploit ! Quand à la version de debian, comme la version 8 est prête et qu'elle fonctionne avec les dernières versions de PHP, autant l'utiliser ici. Histoire d'accelerer encore plus l'ensemble on va utiliser PHP-FPM. Le principe reste le même : En suivant ligne par ligne le tutoriel, vous devez être capable de posséder et de préparer votre propre serveur dédié sans pratiquement de connaissance linux, et ainsi oublier les fameux "pour avoir un serveur dédié, tu dois impérativement payer un prestataire qui le fera.. ". Cela permet de respecter le fameux principe de prestashop : profiter d'un maximum de gratuité pour que les débutant puissent créer leurs magasins. Mais attention, si vous avez eu du mal avec la version apache, vous allez en avoir encore plus avec ginx. Par contre si vous persévérez et que vous terminez correctement votre serveur, vous allez adorer ! EDIT : Changement du tutoriel. Je me rends compte que mon tuto Nginx donnait un serveur ultra rapide et optimisé mais d'une difficulté telle à mettre en place que ce n'était plus ouvert à tout le monde, ce qui n'est pas mon objectif de départ. On change tout et on passe à une installation hyper simplifiée et générique. Merci à rose pour les lignes de commandes simplifiées NOTE : Nginx ne sait pas lire les fichiers htaccess ! Si vous avez un htaccess spécifique, vous devrez le faire retraduire en directives nginx. Des utilitaires existent pour ça. Certaines bibliothèques ne sont pas compatibles nginx. Attention de bien choisir votre configuration prestashop, au cas ou.. Allez c'est parti : 1 / On installe en une fois Nginx, mysql, la bibliothèque graphique gd, mcrypt et php-fpm : apt-get install nginx php5-fpm php5-cli php5-gd php5-mcrypt php5-mysql mysql-server mysql-client 2 / On crée la base de donnée de prestashop en ligne de commande (remplacer les mots en minuscule par les votres): CREATE DATABASE nomdelabaseprestashop CHARACTER SET utf8 COLLATE utf8_general_ci;GRANT ALL PRIVILEGES ON nomdelabaseprestashop.* TO utilisateurbase@localhost IDENTIFIED BY 'motdepassedelabase'; 3 / si vous démarrez de zéro avec un prestashop tout propre = on télécharge prestashop dans le répertoire par défaut : cd /var/www/default/public_html/wget http://www.prestashop.com/download/prestashop_numerodeversiondésirée.zipunzip prestashop_numerodeversiondésirée.zipmv prestashop/* .rm prestashop_numerodeversiondésirée.ziprmdir prestashop/ 4 / on changes les droits de propriétaire du dossier : chown -R www-data: /var/www/default/public_html/ 5 / On crée le fichier de config du site : nano /etc/nginx/sites-available/nomdudomaine.com et on copie ceci dedans : server { server_name nomdudomaine.com; listen 80; root /var/www/default/public_html; index index.php; rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last; rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$1$2.jpg last; rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$1$2$3.jpg last; rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?/[_a-zA-Z0-9-]*.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/c/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; rewrite ^/c/([a-zA-Z-]+)/[a-zA-Z0-9-]+.jpg$ /img/c/$1.jpg last; rewrite ^/([0-9]+)(-[_a-zA-Z0-9-]*)/[_a-zA-Z0-9-]*.jpg$ /img/c/$1$2.jpg last; try_files $uri $uri/ /index.php?$args; location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expires max; } location ~ \.php { fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; [spam-filter] 6 / on crée le lien pour activer le domaine : ln -s /etc/nginx/sites-available/nomdudomaine.com /etc/nginx/sites-enabled/nomdudomaine.comet on redémarre : /etc/init.d/nginx restart 7 / Basculez les DNS Chez OVh, connectez-vous à votre compte et changez les DNS de votre domaine avec ceux de votre serveur. (24h de délai si vous n’avez pas changez le TTL au préalable) VOUS AVEZ FINI ! Si vous avez déjà un site existant, Il ne vous reste plus qu’a transférer votre site via FTP et d’importer votre base de données en ligne de commande SQL. Toutefois, pour une question pratique et pour éviter les bug avec nginx, une installation vierge de prestashop est nettement recommandée
-
Bonjour, Je post aujourd'hui car je me retrouve devant un problème concernant plusieurs domaines. Pour vous expliquez la situation ma société dispose d'un NDD actuellement détenue par une société de service qui héberge un site vitrine. Voulant nous séparé de ce site pour nous consacrer au site E-commerce, nous voudrions rediriger notre NDD vers notre site E-commerce au bout d'un ans on a atteint 1500-1800 visites par mois. Le site vitrine lui aux environ 2000-2500 visites. Le site E-commerce est hébergé sur un VPS de OVH avec ISPConfig 3 d'installer dessus. N'ayant toujours pas pus récupérer notre NDD du site vitrine je voulais faire des essaies avec des sous domaines de notre site E-commerce. J'ai donc définit de nouvelles zones DNS vers mon site E-commerce avec un NDD qui pointe sur le VPS ensuite dans ISPConfig j'ai réglé le paramètre auto sous domaine du site avec *. .Mais voila le problème, je pense viens de prestashop lorsque je vais sur le site avec mon nouveau nom de domaine, je me retrouve sur mon URL de boutique principal ce que je ne veux pas. Je voudrais savoir comment je peux configurer prestashop pour qu'il ne remplace systématiquement l'URL par l'URL principal. Voici les URLs si je ne me suis pas bien exprimé : http://cap-e86.fr URL principal http://cloud.cap-e86.fr URL secondaire ( dans l'onglet multi-boutique) qui renvoie vers http://cap-e86.fr Merci d'avance.
- 1 reply
-
- Multi-Domaine
- NDD
-
(and 3 more)
Tagged with:
-
Bonjour, je suis à la recherche d'une config qui fonctionnerait avec nginx : Les rewrite des page statiques fonctionnent mais pas celles des produits et il manque les images. J'aurais également besoin du webservice et l'accès a API me renvoi un 404. Pour l'instant j'ai trouvé ca , un script howtoforge : server { listen 80; server_name mon_site; root /var/www/mon_site; if ($http_host != "mon_site") { rewrite ^ http://mon_site$request_uri permanent; } index index.php index.html; location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). location ~ /\. { deny all; access_log off; log_not_found off; } rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last; rewrite ^/([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$1$2$3.jpg last; rewrite ^/([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last; rewrite ^/([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last; rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.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/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2$3.jpg last; rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ /img/c/$1$2.jpg last; rewrite ^/images_ie/?([^/]+)\.(jpe?g|png|gif)$ /js/jquery/plugins/fancybox/images/$1.$2 last; try_files $uri $uri/ /index.php$is_args$args; error_page 404 /index.php?controller=404; location ~* \.(gif)$ { expires 2592000s; } location ~* \.(jpeg|jpg)$ { expires 2592000s; } location ~* \.(png)$ { expires 2592000s; } location ~* \.(css)$ { expires 604800s; } location ~* \.(js|jsonp)$ { expires 604800s; } location ~* \.(js)$ { expires 604800s; } location ~* \.(ico)$ { expires 31536000s; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; } }: Merci d'avance pour votre aide !
-
Coucou a tous, je mets ce topic dans "general" car il n'a pas de rapport direct avec presta.. Voila actuellement j'accède à ispconfig par l'url www.domaine:portispconfig Je souhaiterais restreindre son accès à un sous domaine du type accesispconfig.domaine.com:port et l'interdire sur tout autre moyen d'accès. Quelqu'un saurait il ou se trouve le fichier de config d'ispconfig et comment paramétrer l'accès par le sous domaine uniquement ? Merci d 'avance !
-
Bonjour Pour les utilisateurs du panel de gestion d'hébergement ISPconfig3 vous avez un dossier /stats/ qui se trouve à la racine de l'hébergement via le ftp il se trouve dans le dossier /web/ Dans ce dossier /stats/ vous avez un fichier .htaccess avec la ligne : /var/www/clients/client1/web8/.htpasswd_stats << ce dossier htpasswd_stats n'existe pas, ce qui cause problème lors de la mise à jour ou installation de Prestashop. Il sera indiquer comme n'étant pas writable, qu'on ne peut pas écrire dedans, ce qui est juste vu que lors de l'installation ou mise a jour prestashop ne va pas demander un mot de passe. Il suffit de supprimer ce fichier .htaccess ou le renommer. Nul besoin de changer le chmod comme on pourrait le penser.
- 3 replies
-
- prestashop
- hébergement
-
(and 5 more)
Tagged with: