Disposer d’un serveur avec MySQL et PHP 5.3+
Novius OS tourne aussi bien sur :
Nous décrivons ci-après la procédure d’installation sur un serveur LAMP (Linux/Apache/MySQL/PHP), de type Debian, sur lequel vous avez les droits d’administration. À adapter à votre configuration.
Installation de AMP
sudo apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql
Activer le mod_rewrite d’Apache.
sudo a2enmod rewrite
Ouvrez un terminal et saisissez :
cd /var/www
sudo wget http://raw.github.com/novius-os/ci/master/elche/tools/install.sh && sh install.sh
À la question « Enter the directory name where you want to install Novius OS (default novius-os) », indiquez le nom du répertoire dans lequel vous voulez installer votre instance de Novius OS. Laissez vide pour l’installer dans un répertoire novius-os.
Une fois l’installation terminée :
Note
Cette procédure est à privilégier si vous souhaitez installer Novius OS sur un hébergement mutualisé :
Les commandes suivantes sont données à titre d’exemple si vous voulez installer Novius OS sur Ubuntu, adaptez les en fonction de votre distribution.
sudo nano /etc/apache2/sites-available/novius-os.conf
<VirtualHost *:80>
DocumentRoot /var/www/novius-os/public
ServerName novius-os
<Directory /var/www/novius-os/public>
AllowOverride All
Options FollowSymLinks
</Directory>
</VirtualHost>
La configuration par défaut contient un répertoire public. C’est vers ce lui que doit pointer DocumentRoot.
Activez votre nouveau VirtualHost :
sudo a2ensite novius-os.conf
Relancez ensuite Apache pour appliquer la nouvelle configuration.
sudo service apache2 reload
Si vous installez Novius OS sur votre machine locale, vous devez ajouter une ligne au fichier /etc/hosts, avec la valeur du ServerName (novius-os dans l’exemple ci-desssus) .
sudo nano /etc/hosts
Ajouter la ligne suivante :
127.0.0.1 novius-os
Il faut cloner le dépôt disponible sur GitHub :
git clone --recursive git://github.com/novius-os/novius-os.git
Cette commande télécharge le dépôt principal, avec plusieurs submodules :
cd /var/www/novius-os/
git checkout dev
git submodule update --recursive
Exemple de configuration Nginx :
server {
listen 80;
server_name localhost;
root /var/www/novius-os;
index index.php index.html;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log notice;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
error_page 404 /public/htdocs/novius-os/404.php;
autoindex off;
location @rewrites {
rewrite ^/(admin(/.*)?)$ /public/htdocs/novius-os/admin.php last;
rewrite ^/.+(.html|/)$ /public/htdocs/novius-os/front.php last;
rewrite ^/([^.]*)$ /public/htdocs/novius-os/front.php last;
rewrite ^ /public/htdocs/novius-os/front.php last;
}
rewrite ^/(static|cache|media|data|htdocs)/(.*) /public/$1/$2 break;
rewrite ^/install.php /public/htdocs/install.php last;
try_files $uri @rewrites;
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}