Installation d’un serveur ubuntu lamp

Installer ubuntu normalement (ne pas faireles pré-installations proposé (ex : lamp))

 

Activer le compte root

sudo passwd root

Installer ssh

apt-get install ssh

Mettre une IP statique

nano /etc/network/interfaces

Modifier comme suit :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.62
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

redémarrer le service réseau :

/etc/init.d/networking restart

Installer le LAMP

apt-get install apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-sqlite phpmyadmin

Créer un utilisateur php (ex : phpuser)

Personnellement je me crée un utilisateur phpuser qui appartient au groupe www-data et qui à  le droit de se connecter en ssh.
Ensuite pour développer je me connecte avec ce compte il suffit que dans le www
– les dossiers soient en chmod 775 au lieu de 755
– les fichiers soient en chmod 664 au lieu de 644
on résout ainsi les problèmes de droit d’exécution des fichiers tout en maintenant la sécurité

PROCEDURE :

#créer le user :

useradd phpuser

#Ajouter le user dans le groupe www-data :

usermod -a -G www-data phpuser

#Pour vérifier les groupes du user :

groups phpuser

#forcer le user phpuser à  écrire en 775/664 plutôt que 755/644

umask 002 >> /home/phpuser/.profile

#forcer le user www-data à  écrire en 775/664 plutôt que 755/644

umask 002 >> /etc/apache2/envvars

#on se déplace vers /var

cd /var/

#on change le groupe du www

chown www-data:www-data www
chown -R www-data:www-data www/*

#On positionne le GID bit : les fichiers et dossiers créés appartiendront au groupe www-data

chmod g+s www

on met à  jour les droits sur les fichiers & dossier existant s’il y en a

chmod -R g+w www/*
find www -type d -exec chmod g+s {}  \;

OPTIONNEL : ajout du de votre certificat ssl pour le user

mkdir /home/phpuser/.ssh
nano /home/phpuser/.ssh/authorized_keys

#copier la clé publique

chown -R phpuser:phpuser /home/phpuser/.ssh/ /home/phpuser/.ssh/*
chmod 700 /home/phpuser/.ssh/

Nettoyer un fichier rtf : rtf to txt

Si vous devez nettoyer des données mises en forme en rtf, en gros : RTF => TXT

Voici un script qui peut vous aider par contre vous devez installer unrtf sur votre serveur (testé sur ubuntu)

  • Le script :
/**
 * Dans cette exemple le rtf est une chaine de caractere mais cela peut être un fichier text.
 * Sources :http://www.gnu.org/software/unrtf/unrtf.html
 */
$str ='{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\fnil\fcharset0 MS Shell Dlg;}}{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\f0\fs17 samples sent from Pronic Inc in Michigan to\par Main Factory in France\par FEDEX Invoice# 544425\par .\par \pard\f1\fs17 Payment Terms : \par - Deposit of 10% at reception of die design = 244.74 USD\par - Balance of 40% at delivery at the stamping facility (30 days net) = 911.59 USD\par - Balance of 5% after DDAP (60 days maximum after delivery i.e. maximum 02/5/2011) = 63.69 USD\par \pard - Balance of 5% after final customer approval (120 days maximum after delivery i.e. maximum 04/5/2011) = 63.69 USD\f0\fs17\par } '; 

$rtfbuf = strtr($str, array("\r\n"=>"","\t"=>""));
file_put_contents("in", utf8_decode($str));
$last_line = system('unrtf -t text in > out', $retval);
$rtfbuf = file_get_contents("out");
$rtfbuf = explode(chr(10),$rtfbuf);
$rtftest=false; 

if(count($rtfbuf)<>0){
foreach($rtfbuf as $v) {
if($rtftest) $rtfout[]= $v.chr(10);
elseif(trim($v) =="-----------------") $rtftest=true;
else continue;
}
}
print_r($rtfout);