Tutorial Macports – Installation d’un serveur web (LAMP) – [BETA]

**********************************************************************************************************************************************

Installation de Macports

**********************************************************************************************************************************************

MacportsNote : Le but de cette page est de vous donner une idée de l’installation d’un serveur web sur MacOS avec Macports. Ne voulant toucher à la configuration de base de MacOS, j’ai opté pour la solution Macports pour sa facilité d’utilisation. Voici les étapes de l’installation de mon serveur web, il faut savoir que j’ai mes propres besoins donc je vous laisserai faire la part des choses selon vos besoins. Il se peut que dans les lignes ci-dessous, il manque des choses ou des étapes mais je vais essayer de le compléter avec le temps. C’est pour cela qu’il est notifié que cette page est en beta.

  • 1 – Installer MacOS X Lion
  • 2 – Installer X-Code, que vous pourrez trouver sur le CD d’installation de MacOS ou sur l’Apple Store (cela va permettre d’exécuter des lignes de commandes)
  • 3 – Installer Macports en allant sur cette adresse :  http://www.macports.org/install.php
  • 4 – Mettre à jour Macports en allant dans la console pour taper la commande (L’installation et les librairies de Macports se trouveront dans le dossier /opt/local/) :
  • sudo port -v selfupdate

**********************************************************************************************************************************************

Installation d’Apapche

**********************************************************************************************************************************************

  • 5 – Installer apache2 en allant dans la console pour taper la commande :
  • sudo port install apache2 +openldap +preforkmpm
  • 6 – Configuration du fichier : httpd.conf qui se trouve dans ce dossier : /opt/local/apache2/conf/
  • DocumentRoot "/Users/[votre dossier]/Sites"
    DirectoryIndex index.html index.php
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    Include conf/extra/httpd-userdir.conf

**********************************************************************************************************************************************

Installation de PHP 5.3

**********************************************************************************************************************************************

  • 7 – Installer php5 en allant dans la console pour taper la commande :
  • sudo port install php5 +apache2 +mysql +pear +curl +eaccelerator +exif +ftp +gd +gdchart +imap +mbstring +mcrypt +odbc +openssl +postgresql +soap +sockets +sqlite +xdebug +xsl +zip +iconv +cgi +excel +http +rar
  • 8 – Activer le module php5 dans apache en allant dans la console pour taper la commande (Le message suivant doit apparaitre [activating module ‘php5’ in /opt/local/apache2/conf/httpd.conf]) :
  • sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
  • 9 – Copier un fichier php.ini d’exemple en allant dans la console pour taper la commande :
  • sudo cp /opt/local/etc/php53/php.ini-development /opt/local/etc/php53/php.ini

**********************************************************************************************************************************************

Installation de MYSQL 5

**********************************************************************************************************************************************

  • 10 – Installer MYSQL 5 en allant dans la console pour taper la commande :
  • sudo port install mysql5 +server
  • 11 – Copier un fichier de configuration d’exemple en allant dans la console pour taper la commande :
  • sudo cp /opt/local/share/mysql5/mysql/my-medium.cnf /opt/local/etc/my.cnf
  • 12 – Effectuer les commandes suivantes dans la console pour initialiser MYSQL :
  • sudo chown -R mysql:mysql /opt/local/var/db/mysql5
    sudo chmod u+rwx,go= /opt/local/var/db/mysql5
    sudo -u mysql mysql_install_db5
    sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=root
    sudo /opt/local/bin/mysqld_safe5 &
    sudo /opt/local/bin/mysql_secure_installation5
  • 13 – Normalement le fichier sock doit se créer tout seul : /opt/local/var/run/mysql5/mysqld.sock si ce n’est pas le cas effectuer les commandes suivantes dans la console :
  • sudo mkdir /opt/local/var/run
    sudo mkdir /opt/local/var/run/mysql5

**********************************************************************************************************************************************

Test de la configuration

**********************************************************************************************************************************************

  • 14 – Lancer MYSQL 5 en allant dans la console pour taper la commande :
  • sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start <strong>ou</strong> sudo /opt/local/share/mysql5/mysql/mysql.server start
  • 15 – Lancer Apache en allant dans la console pour taper la commande :
  • sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start <strong>ou</strong> sudo /opt/local/apache2/bin/apachectl start
  • 16 – Mettre un phpinfo dans le dossier /Users/[votre dossier]/Sites/phpinfo/index.php (vous devez avoir la configuration PHP affichée)
  • < ?php echo phpinfo(); ?>
  • 17 – Installer les modules manquant de PHP 5 si besoin en allant dans la console pour taper la commande, par exemple :
  • sudo port install php5-mcrypt

**********************************************************************************************************************************************

Configuration de POSTFIX

**********************************************************************************************************************************************
Aide : http://www.feub.net/2011/01/activer-postfix-sous-mac-os-x/

  • 18 – Configuration du fichier /etc/postfix/main.cf en modifiant les points ci-dessous :
  • myhostname = monMac
    myorigin = ingenieur-imac.com
    mynetworks_style = host
    relayhost = smtp.free.fr
  • 19 – Lancer POSTFIX en allant dans la console pour taper la commande :
  • sudo /usr/sbin/postfix start

**********************************************************************************************************************************************

Alias de lancement

**********************************************************************************************************************************************
Comme je préfère lancer à la main mes services web, j’ai mis en place ces alias pour les lancer plus facilement

  • 20 – Mettre des alias en éditant le fichier /Users/[votre dossier]/.profile (pour lancer facilement vos services web) :
  • #MYSQL
    alias mysqlstart='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper start'
    alias mysqlrestart='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper restart'
    alias mysqlstop='sudo /opt/local/etc/LaunchDaemons/org.macports.mysql5/mysql5.wrapper stop'
    #APACHE
    alias apachestart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper start'
    alias apacherestart='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper restart'
    alias apachestop='sudo /opt/local/etc/LaunchDaemons/org.macports.apache2/apache2.wrapper stop'
    #POSTFIX
    alias postfixstart='sudo /usr/sbin/postfix start'
    alias postfixstop='sudo /usr/sbin/postfix stop'
    #SOCK MYSQL
    alias mysqlsock='sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock'

    Démarage automatique des serveurs (je n’ai pas testé ces commandes) :

    sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist
    sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

**********************************************************************************************************************************************

Installation d’ODBC

**********************************************************************************************************************************************
Pour les développeurs qui ont besoin de simuler une connexion OBDC avec le connecteur ODBC MYSQL, souvent utile pour se connecter à une base de données en DB2

Note : Faire attention à la compilation sur Snow Leopard, les services web sont compiler en 64 bits, cela pourrait poser des problèmes lors d’utilisation de librairies 32 bits comme pour le connecteur MYSQL ODBC.

Aide : http://webaj.com/how-setup-mysql-dsn-datasbase-source-centos-myodbc-and-unixodbc-command-line.htm

  • 21 – Installer ODBC Admistrator à cette adresse http://support.apple.com/kb/DL895
  • 22 – Installer le connecteur 32 bits ODBC – MYSQL
  • 23 – Installer la librairie en remplaçant le fichier libmyodbc5.so qui va permettre le passage en 64 bit, pour être sur du résultat faire :
  • sudo file /usr/lib/libmyodbc5.so
  • 24 – Lancer la commande suivante (je ne sais plus à quoi cela sert…) :
  • myodbc-installer -d -a -n "MySQL ODBC 5.2 Driver" \ -t "DRIVER=/usr/lib/libmyodbc5w.so;SETUP=/usr/lib/libmyodbc3S.so"
  • 25 – Configurer le fichier /opt/local/etc/odbc.ini (DSN)
  • [ODBC Data Sources]
    test = MySQL ODBC 5.1 Driver
    
    [test]
    Driver = /usr/lib/libmyodbc5.so
    Description = test
    Server = localhost
    User = root
    Database = test
    Socket = /opt/local/var/run/mysql5/mysqld.sock
    
  • 26 – Configurer le fichier /opt/local/etc/odbcinst.ini (DRIVERS)
  • [ODBC Drivers]
    MySQL ODBC 5.1 Driver = Installed
    
    [MySQL ODBC 5.1 Driver]
    Driver = /usr/lib/libmyodbc5.so
    Setup = /usr/lib/libmyodbc3S.so
    SOCKET = /opt/local/var/run/mysql5/mysqld.sock
    
  • 27 – Si erreur de socket sur PHP faire :
  • sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock

export ODBCINI=/opt/local/etc/odbc.ini
export ODBCSYSINI=/opt/local/etc

**********************************************************************************************************************************************

Sites d’aides en vrac

**********************************************************************************************************************************************

**********************************************************************************************************************************************

Commandes utiles Macports

**********************************************************************************************************************************************

  • Pour supprimer les Macports en allant dans la console pour taper la commande :
  • sudo port -fp uninstall installed
  • Pour supprimer un élément en allant dans la console pour taper la commande :
  • sudo port uninstall php5
  • Pour supprimer complètement Macports en allant dans la console pour taper la commande :
  • sudo rm -rf \ /opt/local \ /Applications/DarwinPorts \ /Applications/MacPorts \ /Library/LaunchDaemons/org.macports.* \/Library/Receipts/DarwinPorts*.pkg \/Library/Receipts/MacPorts*.pkg \/Library/StartupItems/DarwinPortsStartup \/Library/Tcl/darwinports1.0 \/Library/Tcl/macports1.0 \ ~/.macports

**********************************************************************************************************************************************

Commandes utiles sous MacOS

**********************************************************************************************************************************************

  • Affichage du chemin des dossiers dans Finder en allant dans la console pour taper la commande :
  • defauts write com.apple.finder _FXShowPosixPathInTitle -bool YES
  • Affichage des fichiers cachés en allant dans la console pour taper la commande :
  • defaults write com.apple.Finder AppleShowAllFiles true
  • Relancer Finder en allant dans la console pour taper la commande :
  • killall Finder

Voilà ma configuration pour mes développements Web et plus particulièrement PHP. Tout fonctionnement toujours très bien et je n’ai pas eu de problème. L’ajout ou les mises à jour sont faciles à mettre en place. Je suis conscient que toutes ces commandes ne sont pas toutes correctes ou dans le bon ordre mais j’espère améliorer le tutorial rapidement. Gogo !

Share Button

Un commentaire à propos de “Tutorial Macports – Installation d’un serveur web (LAMP) – [BETA]

  1. Hello

    Merci pour le tutoriel bien expliqué.

    Comme expliquer dans le tutoriel, c’est en version beta.

    C’est pour cela que je te (pardon pour les familiarités) te corrige un peu.

    Dans la ligne suivante:

    sudo cp /opt/local/etc/php53/php.ini-development /opt/local/etc/php53/php.ini

    Il faudrait changer ça par

    sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

    Ca peut porter a confusion

    Pour ceux qui copient/collent sans réfléchir.

    Voilà

    Une bonne continuation, et bravo pour les tutos.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*