GNU/Linux >> Tutoriels Linux >  >> Cent OS

Étapes de pré-configuration

Votre cloud, vos données, à votre façon ! - ownCloud 4.0 sur CentOS 6.2 + nginx + PostgreSQL

Ce document décrit comment installer et configurer ownCloud par la "communauté ownCloud" sur un serveur Web basé sur CentOS 6.2 à partir du package tar sur un nginx et php-fpm avec la base de données postgreSQL comme backend. Pour les autres distributions, des modifications mineures peuvent être apportées aux procédures d'installation des prérequis logiciels. Ce guide vous aidera non seulement à installer le produit, mais aussi à comprendre pourquoi certains points sont traités comme ils le sont (c'est très utile pour les utilisateurs peu ou pas informés qui, comme moi il y a quelque temps, ont seulement commencé à utiliser Linux).

Qu'est-ce que ownCloud ?

C'est un outil de partage de fichiers/contacts/calendriers de groupe ou d'entreprise qui, de mon point de vue, tire le meilleur parti de Dropbox et de GroupOffice (à l'exception de l'intégration des e-mails jusqu'à présent), et n'est pas aussi encombré ou lourd qu'Alfresco ou Sharepoint.

Liens vers plusieurs sections du développeur :

  • Page d'accueil du produit :http://owncloud.org/
  • IRC :http://webchat.freenode.net/?channels=owncloud
  • Assistance :http://owncloud.org/support/

Je ne garantis pas que cela fonctionnera pour vous, car plus tard, il pourrait y avoir des changements dans le logiciel, à la fois prérequis et principal, effectués de manière à casser ou de toute autre manière empêcher les procédures mentionnées dans ce didacticiel de se terminer avec succès.
PS Tous les bugs ajoutés sont les miens. Utilisez les commentaires ou accédez à IRC.

Remarque préliminaire

Dans ce tutoriel, nous utilisons :

  • Support d'installation de Centos 6.2
  • Nom d'hôte :owncloud.example.com
  • Adresse IP :192.168.1.100
  • Adresse du routeur :192.168.1.1
  • Masque réseau :255.255.255.0
  • Supposez (imaginez) que le serveur est connecté à l'Internet public
  • Nous utilisons notre ordinateur pour administrer le serveur à distance via ssh (putty sur windows), même si vous avez le serveur à vos côtés, ou l'avez en tant que machine virtuelle exécutée sous votre système d'exploitation principal
  • GNU vim comme éditeur de texte principal. Mais n'hésitez pas à utiliser n'importe quel autre de votre goût

Exigences

Nous aurons besoin d'une installation propre (minimale) de Centos 6.2 (x86 ou x86_64 n'est pas pertinent), j'utilise personnellement la version x86_64 et je vous suggère fortement de faire de même.

Tout d'abord

Connectez-vous à la console du serveur en tant que root.Vous serez à l'invite [[email protected] ~]#.

Je préfère certains paramètres, qui sont complètement facultatifs, mais vous pourriez les trouver utiles plus tard. J'ai configuré mon terminal pour afficher la sortie en couleur avec la date, l'heure, le nom du serveur et le dossier actuel à l'invite. Également pour afficher l'historique des commandes avec date/heure. J'augmente également les valeurs de taille d'historique par défaut.

Pour cela, exécutez :

vi ~/.bash_profile

Ajoutez les lignes mentionnées après la directive export PATH. Au cas où vous ne le sauriez pas, appuyez sur "i" pour entrer en mode insertion, "ESC" le quitte. Vi est vi :)

#Taille de l'historique pour contenir 50 000 commandes et multiplier par dix la taille du fichier .%Y - %H:%M:%S "#Autocolor output of "ls" commandexport LS_OPTIONS='--color=auto'eval "`dircolors`"#Set prompt to display as example:"Thu May 24 2012 14 :28:56 owncloud.example.com de root @ ~]"#et colorie différemment la date, l'heure et le lieu. Définissez tout le texte d'entrée sur les valeurs par défaut.PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y} \e[1;31m\]\t \e[1;37m\] \H de \u @ \W] \033[00m\]"

Enregistrez et quittez le fichier. Encore une fois, si vous ne savez pas, en dehors du mode d'insertion, vous entrez ":wq" et appuyez sur Entrée pour enregistrer et quitter, ou appuyez simplement sur "ZZ" pour faire de même. Pour vous reconnecter au terminal afin d'appliquer les modifications, exécutez :

quitter

Mise en réseau

Si vous n'avez pas configuré d'adresse IP statique lors de l'installation, disons que vous avez un routeur compatible DHCP, vous devez le faire maintenant, sinon passez à l'étape suivante.

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Modifiez ou ajoutez uniquement les lignes mentionnées.

BOOTPROTO="none"NETWORK="192.168.1.0"NETMASK="255.255.255.0"IPADDR="192.168.1.100"GATEWAY="192.168.1.1"

Sauvegarder et quitter. Redémarrez ensuite le réseau :

service de redémarrage du réseau

Vérifiez que le réseau est reconfiguré en exécutant :

ifconfig

Vous devriez maintenant pouvoir vous connecter en ssh au serveur sur 192.168.1.100 en tant que root. Mais ne le faites pas tout de suite, commencez par l'étape suivante.

Sécuriser le serveur

Avant d'aller plus loin, puisque nous supposons que le serveur est en fait connecté à Internet, nous devons le sécuriser. Nous ferons trois choses.

  • Reconfigurez ssh-server afin qu'il n'autorise pas la connexion root et remplacez le port 22 par défaut par autre chose, moins courant, c'est-à-dire 60606,
  • Configurez iptables pour autoriser les connexions entrantes sur le nouveau port,
  • Ajoutez notre premier utilisateur système afin de vous connecter avec lui via ssh.
  1. Sécuriser la connexion à distance

    Si vous n'êtes pas encore connecté de la console au serveur (c'est-à-dire la console locale, pas encore ssh), connectez-vous en tant que root, puis exécutez :

    vi /etc/ssh/sshd_config

    Sur la ligne treize du fichier par défaut non modifié (au cas où vous vous poseriez la question à nouveau, tapez ":set number" et appuyez sur Entrée en dehors du mode d'insertion pour obtenir les numéros de ligne), il y a la directive Port 22. Dupliquez-le, changez le numéro de port en 60606 et décommentez.
    Ensuite, recherchez (en dehors du mode d'insertion, appuyez sur "/" et tapez la phrase que vous recherchez) Directive PermitRootLogin oui dupliquez-la à nouveau et changez sa valeur en non et décommentez-la également , puis enregistrez le fichier. Oh, et c'est ":noh" pour désactiver la surbrillance.
    Redémarrez ensuite sshd :

    redémarrage du service sshd
  2. Configurer iptables

    Vérifiez d'abord les iptables déjà existants :

    iptables -L -v --line-numbers

    Dans l'installation par défaut à la position '4', la directive acceptera les nouvelles connexions tcp sur le port ssh par défaut, nous devons nous en débarrasser, donc exécuter :

    iptables -D ENTRÉE 4

    Nous devons maintenant autoriser les connexions au port 60606 à la place. Exécuter :

    iptables -I ENTRÉE 4 -p tcp -d 192.168.1.100 --dport 60606 -j ACCEPTER

    Enfin, pour enregistrer l'état actuel d'iptables, exécutez :

    sauvegarde du service iptables
    redémarrage du service iptables

  3. Ajout du premier utilisateur

    Tout va bien maintenant, sauf pour une chose, nous nous sommes bannis de ssh, car root n'est pas autorisé et il n'y a pas encore d'autres utilisateurs du système. Temps de correction :

    useradd -c "utilisateur système ownCloud" -m -n cloudadmin

    Définir le mot de passe pour cet utilisateur :

    passwd cloudadmin

    Fait. Vous pouvez définir un mot de passe pour l'utilisateur dans la première commande, mais de cette façon, la valeur du mot de passe sera visible lors de la saisie dans la fenêtre du terminal et sera également enregistrée dans .bash_history de l'utilisateur root, ce qui n'est pas souhaitable.
    Maintenant, vous pouvez vous connecter via ssh exécutant la commande suivante dans la fenêtre de votre terminal sur l'ordinateur local :

    ssh [protégé par e-mail] -p60606

Étapes de pré-configuration

L'installation du logiciel dans la plupart des cas est assez simple et nous aurions pu en "vérifier" la plupart lors de l'installation initiale, mais je préfère faire les choses à la main.
Je divise intentionnellement l'installation en sections.

  1. Se connecter en tant que superutilisateur

    À ce moment précis, vous devriez être sur l'invite de la console en tant qu'utilisateur clouddmin. Pour obtenir les privilèges root, exécutez :

    su -
  2. Référentiels de logiciels

    Afin d'utiliser le logiciel souhaité, deux référentiels sont nécessaires.
    D'abord EPEL, exécutez :

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
    Et non, i386 n'est pas une erreur, c'est la même chose pour les systèmes 32 bits et 64 bits.
    Puis Rémi, exécutez :

    rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
    rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    Maintenant, vérifiez les dépôts epel et remi et, au cas où il n'y en aurait pas, définissez enabled=1 en exécutant :

    vi /etc/yum.repos.d/epel.repo
    vi /etc/yum.repos.d/remi.repo

    Enfin, mettez à jour votre système. Même CentOS fraîchement installé peut nécessiter une mise à jour en premier. Exécuter :
    yum update -y
  3. Temps de précision

    C'est bien d'être en phase avec le reste du monde, exécutez :

    yum install ntp
    service ntpd start
    chkconfig ntpd on
    ntpd

  4. Quelques autres outils

    Pour me faciliter un peu la vie, j'utilise vim au lieu de vi, htop au lieu de top, elinks pour tester rapidement les choses depuis le terminal et mc, en tant que bon gestionnaire de fichiers et pas seulement à double volet, wget est nécessaire pour télécharger des choses et man est essentiel quand on veut lire à peu près n'importe quoi. Exécuter :

    yum install vim htop elinks mc wget man -y

Installation d'ownCloud

  1. Prérequis logiciels

    Un tas de trucs php, exécutez :

    yum installer php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-shout php-snmp php-soap php-tidy php-pgsql

    Editez php.ini, exécutez :

    vim /etc/php.ini

    Il y a quatre directives à modifier,
    la première doit être sur la ligne 736, la directive post_max_size
    la deuxième sur la ligne 848, la directive cgi.fix_pathinfo
    la troisième sur la ligne 885, la directive upload_max_filesize
    la dernière sur ligne 956, directive date.timezone modifiez-le en fonction de l'emplacement de votre serveur.

    [...]post_max_size =64M[...]cgi.fix_pathinfo =0[...]upload_max_filesize =64M[...]date.timezone ="Europe/Prague"[...] 

    Si vous ne savez pas comment faire, vous pouvez trouver le nom de votre fuseau horaire en exécutant :

    cat /etc/sysconfig/clock

    Ensuite, configurez php-fpm pour utiliser le socket unix au lieu de la pile tcp, exécutez :

    vim /etc/php-fpm.d/www.conf

    À partir de la ligne douze, faites-le ressembler à ceci :

    ;listen =127.0.0.1:9000listen =/var/run/php-fpm/php-fpm.sock

    Démarrez php-fpm :

    chkconfig php-fpm sur
    service php-fpm start

  2. Backend - PostgreSQL

    Pour l'installer et le configurer, exécutez :

    yum install postgresql postgresql-libs postgresql-server
    service postgresql initdb
    service postgresql start
    chkconfig postgresql on

    Connectez-vous à postgres en tant qu'utilisateur système postgres, créez un utilisateur de base de données, une base de données et accordez des privilèges

    su - -c "psql" postgres
    CRÉER UN UTILISATEUR clouduser AVEC LE MOT DE PASSE 'userpass' ;
    CRÉER UNE BASE DE DONNÉES clouddb PROPRIÉTAIRE clouduser ENCODANT 'UTF8' ;
    ACCORDER TOUS LES PRIVILÈGES SUR LA BASE DE DONNÉES clouddb À clouduser ;
    \q

    Modifiez le fichier de configuration postgresql pour autoriser les connexions par mot de passe :

    vim /var/lib/pgsql/data/pg_hba.conf
    • Rechercher

      # Connexions locales IPv4 :
      hébergez tous tous les identifiants 127.0.0.1/32

    • Et modifiez-le en

      # Connexions locales IPv4 :
      héberger tous tous 127.0.0.1/32 mot de passe

    Redémarrez maintenant la base de données :

    redémarrage du service postgresql
  3. serveur Web nginx

    Installez, configurez pour démarrer au démarrage, puis arrêtez-le :

    yum install nginx
    service nginx start
    chkconfig nginx on
    service nginx stop

    Préparez le fichier de configuration pour le site Web d'ownclod :

    vim /etc/nginx/conf.d/owncloud.conf
    # rediriger http vers https.server { écouter 80 ; nom_serveur owncloud.example.com ; réécrire ^ https://$server_name$request_uri ? permanent; # appliquer https}# serveur owncloud (ssl/tls) { écouter 443 ssl ; certificat_ssl /etc/nginx/certs/server.crt ; clé_certificat_ssl /etc/nginx/certs/server.key ; nom_serveur owncloud.example.com ; racine /var/www/owncloud ; index index.php; client_max_body_size 64M ; # définir la taille de téléchargement maximale # refuser l'emplacement d'accès direct ~ ^/(data|config|\.ht|db_structure\.xml|README) { tout refuser ; } # emplacement par défaut de la commande d'essai / { try_files $uri $uri/ @webdav; } # emplacement WebDAV propre au cloud @webdav { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; fastcgi_param HTTPS activé ; inclure fastcgi_params ; } # activer l'emplacement php ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; fastcgi_param HTTPS activé ; inclure fastcgi_params ; }}

    Créons maintenant des certificats pour le serveur, répondez aux questions dans l'invite en fonction de vos paramètres :

    mkdir -p /etc/nginx/certs/
    cd /etc/nginx/certs/
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key - out server.csr
    cp server.key server.key.orig
    openssl rsa -in server.key.orig -out server.key
    openssl x509 -req -days 365 -in server. csr -signkey serveur.key -out serveur.crt

    Rechargez nginx pour activer la nouvelle configuration :

    rechargement du service nginx
  4. fichiers et répertoires ownCloud

    L'installation d'ownCloud consiste à télécharger et à décompresser l'archive, avec quelques ajustements côté serveur, donc, exécutez :

    cd /tmp
    wget http://download2.owncloud.org/releases/owncloud-4.0.0.tar.bz2
    tar xjf owncloud-4.0.0.tar.bz2
    mv owncloud /var/www/
    mkdir -p /var/www/owncloud/data
    chmod 770 /var/www/owncloud/data
    chown -R root:apache /var/www/owncloud

    Et encore une fois, apache en tant que groupe dans la dernière commande n'est pas une erreur. php-fpm est exécuté par défaut en tant qu'utilisateur apache

  5. Accéder au site Web

    Ouvrez le port 443 afin de pouvoir accéder au site Web, exécutez :

    iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 443 -j ACCEPT
    service iptables save
    service iptables restart

Test d'exécution

Accédez à https://owncloud.example.com via le navigateur de votre choix et terminez la procédure d'installation.

Choisissez le nom d'utilisateur et le mot de passe de l'administrateur, choisissez PostgreSQL comme base de données principale et publiez les valeurs appropriées dans les paramètres de connexion à la base de données.

Profitez.

Dépannage

Les fichiers journaux sont situés comme suit :

/var/www/owncloud/data/owncloud.log
/var/log/php-fpm/www-error.log
/var/log/nginx/access.log
/var /log/nginx/error.log


Cent OS
  1. 4 étapes pour configurer le référentiel local dans Ubuntu à l'aide d'APT-mirror

  2. 15 étapes de durcissement Linux pour le serveur CentOS 7

  3. Configurer le serveur SysLog sur CentOS 6 / RHEL 6

  4. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  5. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

Configuration du serveur http Kali

Comment configurer le serveur NFS sur CentOS 8 / RHEL 8

Comment configurer un serveur SVN sur CentOS

Configuration du serveur ISP - OpenSUSE 10

CentOS 8 - Configuration initiale du serveur

Configuration étape par étape du serveur de messagerie iRedMail sur Centos 8