VPS CentOS

Voici comment installer son VPS CentOS avec SSH

yumyum

Voici un tutoriel d'installation de VPS (un serveur privé virtuel) centOS 6/7  , dans celui-ci je vais vous montrer comment configurer les différents éléments afin d'arriver à la fin de l'installation avec un serveur prêt à héberger du contenu en big data. L'addresse IP de mon serveur est 172.234.56.781 . Dans le tutoriel suivant nous aborderons.

  • La configuration d'un serveur SSH.
  • Connaître sa version de centOS
  • L'installation des paquets intéressants
  • L'installation de VNC
  • Liens connexes et annexes

Configuration de SSH

Tout d'abord on se connecte à SSH avec le nom d'utilisteur root.

ssh root@172.234.56.781

On change le mot de passe root , il est conseiller de le  noté le dans un endroit sure..

passwd
monmotdepasse

On ajoute l'utilisateur  thibautlombard

/usr/sbin/adduser thibautlombard
passwd thibautlombard
monmotdepasse

On configure les privilèges SSH avec l'éditeur de texte vi

/usr/sbin/visudo

Note concernant l'éditeur vi/vim:

  • Pour insérer un texte ou une instruction appuyez sur i
  • Pour sauvegarder et quitter l'éditeur VI ou VIM :  [Esc] key and type zz [Esc], :wq
  • Pour quitter sans sauvegarder :q!

Regarder la section ou la ligne:

# User privilege specification
root    ALL=(ALL)       ALL

Puis ajouter

thibautlombard     ALL=(ALL)    ALL

Ensuite changé le droit user de ssh

vi /etc/ssh/sshd_config

La ligne

#port 22

Ajouter le numéro de port voulu.

port 1986

Rechercher la ligne  et mettre à no

PermitRootLogin no

Ensuite mettre aussi à no

#UseDNS yes
UseDNS no

Et tout en bas du fichier saisissez

AllowUsers thibautlombard

Redémarrez le service ssh

/etc/init.d/sshd reload

Connectez vous via

ssh -p 1986 thibautlombard@172.234.56.781
monmotdepasse
su thibautlombard

Connaître sa version de centOS

Il est toujours intértessant  de connaître sa version de centOS afin de pouvoir travailler sur les modules du noyau système, connaître les applications compatibles à l'installation, et aussi mettre à jour sa distribution.

 cat /etc/redhat-release
CentOS release 6 (Final)
uname -a
Linux localhost.localdomain 2.6.32-042stab078.26 #1 SMP Wed Jun 19 11:05:34 MSK 2013 x86_64 x86_64 x86_64 GNU/Linux

Installation d'internet

Maintenant que nous avons configurés SSH et que nous connaissons quel version du système et du noyau nous avons, on constate que nous n'avons pas internet car bien souvent les VPS sont offert sans support ou le support est payant ou prends du temps.  Pour économiser du temps et donc de l'argent, voici les commandes à exécuter afin de relier le DNS.

vi /etc/resolv.conf 

Ajouter

option rotate
nameserver 172.234.56.781
nameserver 8.8.8.8
nameserver 8.8.4.4

Note : la résolution dns s'effectue à partir d'un serveur de nom , pour accèder à des TLD alternatifs comme .geek .free .oss etc... voici le site de Opennicproject .

Désormais vous pouvez quitter et redémarrer votre machine virtuelle soit à partir du panel Web ou avec ssh.

reboot

Installation des paquets intéressants

Mise à jour de la distribution

yum clean all
yum check-update
yum update
reboot

Installation de lampp

Nous allons utiliser le gestionnaire de paquets yum pour installer un serveur WEB sur notre VPS.

sudo yum install httpd

On démarre le service httpd.

sbin/service httpd start

yum install mysql-server

On démarre le service Mysql.

sbin/service mysqld start
/usr/bin/mysql_secure_installation
password for root monmotdepasse

yum install php php-mysql

Pour retrouver les modules php dont vous avez besoin comme le mode suhoshin.

yum search php-

Installer un certificat ssl

Pour un peu plus de sécurité je vous conseilles d'installer le SSL qui permet le cryptage des connections.

yum install mod_ssl
mkdir /etc/httpd/ssl 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt

Ouverture du fichier cert

 vi /etc/httpd/conf.d/ssl.conf

 ServerName 172.234.56.781:443

Retrouvez les 3 lignes suivantes et assurez vous qu'elles correspondent avec les extension ci dessous

SSLEngine on
SSLCertificateFile /etc/httpd/ssl/apache.crt
SSLCertificateKeyFile /etc/httpd/ssl/apache.key

Quitter et sauvegarder.

Redémarrez le service httpd

/etc/init.d/httpd restart

Installer vsftpd

Nous allons avoir besoin de nous connecter à notre serveur par l'intermédiaire du protocole FTP (file transfer protocol) avec un client ftp comme filezilla.

yum install vsftpd
vi /etc/vsftpd/vsftpd.conf

Modifier à NO

anonymous_enable=NO

S'assurer que les variables suivantes sont configurées à oui

local_enable=YES
write_enable=YES
chroot_local_user=YES

Ajout d'un utilisateur ftp

/usr/sbin/adduser ftpthibautlombard
passwd ftpthibautlombard
 monmotdepasseftp

Configurer  ssl avec vsftp

mkdir /etc/ssl/private/
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
 

Ajout du certificat a la configuration de vsftpd

vi /etc/vsftpd/vsftpd.conf

Rajouter à la fin du fichier.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
#require_ssl_reuse=NO
ssl_ciphers=HIGH

Sauvegarder puis quitter, redémarrez le service vsftpd.

/etc/init.d/vsftpd restart
sbin/chkconfig vsftpd on

Faire pointer l'utilisateur vsftp vers la destination du serveur web

usermod --home /var/www/ ftpthibautlombard

Changer les droits sur les fichiers (permission récursive aux utilisateurs apache et ftpthibautlombard)

chmod 770 -R /var/www/{apache,ftpthibautlombard}

Ajout de l'utilisateur  ftpthibautlombard au groupe apache

usermod -G apache ftpthibautlombard

Ajout du propriétaire ftpthibautlombard en récursif au dossier var/www

chown -R ftpthibautlombard /var/www

Installation de vnc

Il est toujours utile d'avoir a disposition une interface graphique car nous ne connaissons pas forcément toutes les commandes systèmes avec le terminal. Pour cela nous allons installer un bureau virtuel , fervent utilisateur de logiciel libres sur ubuntu voici comment faire pour installer le client sur ubuntu, et le serveur, sur votre VPS.

VNC client java sur ubuntu

wget http://www.tightvnc.com/download/2.7.2/tvnjviewer-2.7.2-bin.zip
unzip tvn*

A utiliser de la sorte

 java -jar tightvnc-jviewer.jar java -jar tightvnc-jviewer.jar hostname
 java -jar tightvnc-jviewer.jar -port=nnn hostname
 java -jar tightvnc-jviewer.jar -port=nnn -host=hostname

Serveur VNC sur serveur VPS

Voici les consignes d'installation d'interface graphique sur centOS. Puis d'installation du serveur VNC.

Premièrement on installe l'interface graphique gnome

yum  groupinstall Desktop
yum install tigervnc-server xterm

Création d'un utilisateur

/usr/sbin/adduser vncuser
passwd vncuser
monmotdepassevnc

On se connecte en tant qu'utilisateur VNC

su vncuser
vncpasswd
monmotdepassevnc

vi /etc/sysconfig/vncservers

Editez la ligne d'utilisateur VNC pour la faire correspondre avec l'interface graphique

VNCSERVERS="1:vncuser"
VNCSERVERARGS[2]="-geometry 1024x768"

Enregistrer puis quitter

Placez vous dans le dossier consacré à VNC

ls /home/vncuser/.vnc
cd /home/vncuser/.vnc

Modifier le fichier xstartup pour qu'il corresponde avec l'interface graphique de VNC

vim xstartup

Coller le contenu suivant

#!/bin/sh
 ( while true; do xterm; done ) &
 
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
 
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 1024x768 -ls -name "$VNCDESKTOP Desktop" &
gnome-session &

Enregistrer et quitter.

Donnez les permissions exécutables au fichier xstartup

chmod +x xstartup

Faire la commande suivante pour localiser le port d'écoute et se connecter avec xtightvncviewer

Consultez les processus en cours d'éxécution

netstat -an

Quittez votre status d'utilisateur et réactivez le service VNC.

exit
/sbin/service vncserver start
/sbin/service vncserver stop
 

Liens connexes et annexes

Inspiré de

http://www.servermom.org/complete-newbie-guide-to-build-centos-server-to-host-websites/ Installation de xampp http://vichargrave.com/how-to-install-xampp-on-linux-step-by-step/ DNS et  bind9 http://www.linux-france.org/article/lgazette/issue-44/lg44-fr-6.html http://complete-concrete-concise.com/web-tools/how-to-change-localhost-to-a-domain-name http://www.cyberciti.biz/faq/dhclient-etcresolvconf-hooks/ http://serverfault.com/questions/479776/dns-bind-on-vps http://tecadmin.net/configure-caching-name-server-on-centos-6/ http://www.howtoforge.com/installation-of-bind-as-a-secondary-slave-dns-server-on-centos http://www.howtoforge.com/bind-installation-on-centos http://www.ehowstuff.com/how-to-setup-private-dns-with-bind9-chroot-on-centos-6-2-vps/ http://www.danscourses.com/Linux-Fundamentals/install-a-configure-the-bind-dns-server.html PPTP VPN OPENVZ http://www.zedt.eu/tech/linux/setting-pptp-vpn-server-centos-openvz-vps/ Installer kvm http://www.howtoforge.com/virtualization-with-kvm-on-a-centos-6.0-server yum install bridge-utils Installer lamp http://khromov.wordpress.com/2013/02/04/ultimate-guide-to-setting-up-the-lamp-stack-on-centos-6-apache-php-mysql/ Configuration vsftp http://unix.stackexchange.com/questions/94603/vsftpd-limit-ftp-access-only-to-var-www