GNU/Linux >> Znalost Linux >  >> Cent OS

Kroky před nastavením

Váš cloud, vaše data, vaše cesta! - ownCloud 4.0 na CentOS 6.2 + nginx + PostgreSQL

Tento dokument popisuje, jak nainstalovat a nastavit ownCloud "ownCloud komunitou" na webový server založený na CentOS 6.2 z balíčku tar na nginx a php-fpm s postgreSQL databází jako backendem. U jiných distribucí mohou nastat drobné změny, pokud jde o instalační procedury softwarových předpokladů. Tato příručka nejen pomůže nainstalovat produkt, ale také porozumí tomu, proč se určité body dělají tak, jak se dělají (toto je velmi užitečné pro uživatele s malými nebo žádnými znalostmi, kteří jako já před časem teprve začali používat Linux).

Co je ownCloud?

Je to nástroj pro sdílení souborů/kontaktů/kalendářů skupiny nebo společnosti, který z mého pohledu nejlépe využívá Dropbox i GroupOffice (zatím kromě integrace e-mailu) a není tak nepřehledný nebo těžký jako Alfresco nebo Sharepoint.

Odkazy na několik sekcí vývojáře:

  • Domovská stránka produktu:http://owncloud.org/
  • IRC:http://webchat.freenode.net/?channels=owncloud
  • Podpora:http://owncloud.org/support/

Nezaručuji, že to pro vás bude fungovat, protože později by mohlo dojít ke změnám v softwaru, jak nezbytným, tak hlavním, provedeným takovým způsobem, že se poruší nebo jakkoli jinak znemožní úspěšné dokončení postupů uvedených v tomto návodu.
P.S. Všechny přidané chyby jsou moje. Použijte komentáře nebo přejděte na IRC.

Předběžná poznámka

V tomto tutoriálu používáme:

  • Instalační médium Centos 6.2
  • Název hostitele:owncloud.example.com
  • IP adresa:192.168.1.100
  • Adresa směrovače:192.168.1.1
  • Maska sítě:255.255.255.0
  • Předpokládejte (představte si), že je server připojen k veřejnému internetu
  • Používáme náš počítač ke vzdálené správě serveru přes ssh (putty na Windows), a to i v případě, že máte server vedle sebe nebo jej máte jako virtuální stroj spuštěný pod vaším hlavním operačním systémem
  • GNU vim jako náš primární textový editor. Klidně ale použijte jakýkoli jiný, který se vám líbí

Požadavky

Budeme potřebovat funkční čistou (minimální) instalaci Centos 6.2 (x86 nebo x86_64 je irelevantní), já osobně používám verzi x86_64 a důrazně doporučuji, abyste udělali totéž.

První věci

Přihlaste se do konzole serveru jako root. Zobrazí se výzva [[email protected] ~]#.

Preferuji určitá nastavení, která jsou zcela volitelná, ale později se vám mohou hodit. Nastavil jsem svůj terminál tak, aby zobrazoval výstup barevně s datem, časem, názvem serveru a aktuální složkou na výzvu. Také pro zobrazení historie příkazů s datem/časem. Také zvýším výchozí hodnoty velikosti historie.

Chcete-li tak učinit, proveďte:

vi ~/.bash_profile

Přidejte zmíněné řádky za exportní direktivu PATH. V případě, že nevíte, stisknutím "i" vstoupíte do režimu vkládání, "ESC" jej opustí. Vi je vi :)

#Velikost historie pojme 50 000 příkazů a desetkrát zvětší velikost souboruexport HISTSIZE=50000export HISTFILESIZE=500000#Zobrazit historii s datem jako příklad:"24.05.2012 - 14:28:56"export HISTTIMEFORMAT="%d.%m .%Y - %H:%M:%S "#Automatický výstup "ls" commandexport LS_OPTIONS='--color=auto'eval "`dircolors`"#Nastavit výzvu k zobrazení jako příklad:"Čt 24. května 2012 14 :28:56 owncloud.example.com root @ ~]"#a obarvit datum, èas a místo jinak. Nastavit veškerý vstupní text na výchozí hodnoty.PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y} \e[1;31m\]\t \e[1;37m\] \H z \u @ \W] \033[00m\]"

Uložte a ukončete soubor. Opět, pokud nevíte, mimo režim vkládání buď zadáte ":wq" a stisknete enter pro uložení a ukončení, nebo jednoduše stisknete "ZZ" pro totéž. Chcete-li se znovu přihlásit k terminálu a použít změny, proveďte:

exit

Sítě

Pokud jste během instalace nenastavili statickou IP adresu, řekněme, že máte router s podporou DHCP, musíte to udělat nyní, jinak přejděte k dalšímu kroku.

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

Změňte nebo přidejte pouze uvedené řádky.

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

Uložit a odejít. Poté restartujte síť:

restart servisní sítě

Zkontrolujte, zda je síť překonfigurována provedením:

ifconfig

Nyní byste měli být schopni ssh na server na 192.168.1.100 jako root. Ale zatím to nedělejte, nejprve dokončete další krok.

Zabezpečení serveru

Než budeme pokračovat, protože jsme předpokládali, že server je ve skutečnosti připojen k internetu, musíme jej zabezpečit. Uděláme tři věci.

  • Překonfigurujte ssh-server tak, aby neumožňoval přihlášení uživatele root a změňte výchozí port 22 na něco jiného, ​​méně obvyklého, např. 60606,
  • Nastavte iptables, abyste povolili příchozí připojení na novém portu,
  • Přidejte našeho prvního uživatele systému, abyste se k němu mohli přihlásit pomocí ssh.
  1. Zabezpečení vzdáleného přihlášení

    Pokud ještě nejste přihlášeni z konzole na server (myslím místní konzoli, ještě ne ssh), přihlaste se jako root a poté proveďte:

    vi /etc/ssh/sshd_config

    Na třináctém řádku nezměněného výchozího souboru (pro případ, že by vás to znovu zajímalo, napište ":set number" a stiskněte enter mimo režim vkládání pro získání čísel řádků) je direktiva Port 22. Zduplikujte ji, změňte číslo portu na 60606 a zrušte komentář.
    Poté najděte (mimo režim vkládání stiskněte „/“ a zadejte frázi, kterou hledáte) Direktiva PermitRootLogin yes duplikujte znovu a změňte její hodnotu na ne a také ji odkomentujte a poté soubor uložte. Oh, a je to ":no" pro vypnutí zvýraznění.
    Potom restartujte sshd:

    restart služby sshd
  2. Nastavení iptables

    Nejprve zkontrolujte již existující iptables:

    iptables -L -v --line-numbers

    Ve výchozí instalaci na pozici '4' bude direktiva přijímat nová připojení tcp na výchozím portu ssh, musíme se toho zbavit, takže proveďte:

    iptables -D INPUT 4

    Nyní musíme místo toho povolit připojení k portu 60606. Provést:

    iptables -I VSTUP 4 -p tcp -d 192.168.1.100 --dport 60606 -j PŘIJÍMAT

    Nakonec pro uložení aktuálního stavu iptables proveďte:

    service iptables save
    restart služby iptables

  3. Přidání prvního uživatele

    Nyní je vše v pořádku, až na jednu věc jsme si zakázali ssh, protože root není povolen a zatím nejsou žádní další uživatelé systému. Čas na opravu:

    useradd -c "vlastní uživatel systému Cloud" -m -n cloudadmin

    Nastavit heslo pro tohoto uživatele:

    passwd cloudadmin

    Hotovo. Heslo pro uživatele můžete nastavit v prvním příkazu, ale tímto způsobem bude hodnota hesla viditelná při vstupu do okna terminálu a také bude uložena v .bash_history uživatele root, což není žádoucí.
    Nyní se můžete přihlásit přes ssh provádí následující příkaz v okně terminálu na místním počítači:

    ssh [e-mail chráněný] -p60606

Kroky před nastavením

Instalace softwaru je ve většině případů do značné míry přímočará a většinu z toho jsme mohli 'zkontrolovat' při počáteční instalaci, ale raději dělám věci ručně.
Záměrně rozděluji instalaci do sekcí.

  1. Přihlášení jako superuživatel

    V tuto chvíli byste měli být na konzole jako uživatel clouddmin. Chcete-li získat práva root, spusťte:

    su -
  2. Softwarová úložiště

    Abyste mohli používat požadovaný software, jsou vyžadována dvě úložiště.
    Nejprve EPEL, spusťte:

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
    A ne, i386 není chyba, je to stejné pro 32bitové i 64bitové systémy.
    Potom Remi proveďte:

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

    Nyní zkontrolujte úložiště epel i remi a v případě, že tam není, nastavte enabled=1 provedením:

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

    Nakonec aktualizujte svůj systém. Dokonce i čerstvě nainstalovaný CentOS může nejprve vyžadovat aktualizaci. Proveďte:
    yum update -y
  3. Přesný čas

    Je dobré být v synchronizaci se zbytkem světa, proveďte:

    yum install ntp
    spuštění služby ntpd
    chkconfig ntpd on
    ntpd

  4. Některé další nástroje

    Abych si trochu usnadnil život, používám vim místo vi, htop místo top, elinks k rychlému testování věcí z terminálu a mc, jako dobrý a nejen dvoupanelový správce souborů je wget vyžadován ke stahování věcí a muž je nezbytný, když chcete číst cokoli. Provést:

    yum install vim htop elinks mc wget man -y

Nastavení ownCloud

  1. Softwarové předpoklady

    Hromada věcí php, spusťte:

    yum install php-fpm php-gd php-ldap php-pear php-xml php-xmlrpc php-eaccelerator php-magickwand php-magpierss php-mbstring php-mcrypt php-křičet php-snmp php-soap php-uklizený php-pgsql

    Upravte php.ini, spusťte:

    vim /etc/php.ini

    Existují čtyři direktivy ke změně,
    první by měla být na řádku 736, direktiva post_max_size
    druhá na řádku 848, direktiva cgi.fix_pathinfo
    třetí na řádku 885, direktiva upload_max_filesize
    poslední na řádek 956, direktiva date.timezone upravte jej podle umístění vašeho serveru.

    [...]post_max_size =64 milionů[...]cgi.fix_pathinfo =0[...]upload_max_filesize =64 milionů[...]date.timezone ="Evropa/Praha"[...] 

    V případě, že nevíte jak, můžete najít název svého časového pásma spuštěním:

    cat /etc/sysconfig/clock

    Dále nakonfigurujte php-fpm tak, aby místo tcp stacku používal unixový socket, proveďte:

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

    Z řádku dvanáct, aby to vypadalo takto:

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

    Spusťte php-fpm:

    chkconfig php-fpm on
    spuštění služby php-fpm

  2. Backend – PostgreSQL

    Chcete-li jej nainstalovat a nastavit, spusťte:

    yum install postgresql postgresql-libs postgresql-server
    služba postgresql initdb
    spuštění služby postgresql
    chkconfig postgresql on

    Přihlaste se do postgres jako uživatel systému postgres, vytvořte uživatele databáze, databázi a udělte oprávnění

    su - -c "psql" postgres
    VYTVOŘIT UŽIVATELE clouduser POMOCÍ HESLA 'userpass';
    VYTVOŘIT DATABÁZI VLASTNÍK clouddb clouduser KÓDOVÁNÍ 'UTF8';
    UDĚLEJTE VŠECHNA PRIVIlegia V DATABÁZI clouddb Clouduser;
    \q

    Změňte konfigurační soubor postgresql tak, aby umožňoval přihlášení pomocí hesla:

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

      # Místní připojení IPv4:
      hostujte všechny identifikace 127.0.0.1/32

    • A změňte jej na

      # Místní připojení IPv4:
      hostujte všechna heslo 127.0.0.1/32

    Nyní restartujte databázi:

    restart služby postgresql
  3. webový server nginx

    Nainstalujte, nastavte spuštění při spouštění a poté jej zastavte:

    yum install nginx
    spuštění služby nginx
    chkconfig nginx on
    zastavení služby nginx

    Připravte konfigurační soubor pro web ownclod:

    vim /etc/nginx/conf.d/owncloud.conf
    # přesměrovat http na https.server { poslouchat 80; název_serveru owncloud.example.com; přepsat ^ https://$server_name$request_uri? trvalý; # vynutit https}# owncloud (ssl/tls)server { poslouchat 443 ssl; ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; název_serveru owncloud.example.com; root /var/www/owncloud; index index.php; client_max_body_size 64M; # nastavit maximální velikost uploadu # odepřít umístění přímého přístupu ~ ^/(data|config|\.ht|db_structure\.xml|README) { zakázat vše; } # výchozí umístění objednávky try / { try_files $uri $uri/ @webdav; } # owncloud umístění WebDAV @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 zapnuto; zahrnout fastcgi_params; } # povolit umístění php ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS zapnuto; zahrnout fastcgi_params; }}

    Nyní vytvoříme certifikáty pro server, odpovězte na otázky podle vašeho nastavení:

    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 server.key -out server.crt

    Znovu načtěte nginx, abyste povolili novou konfiguraci:

    znovu načtení služby nginx
  4. owncloud soubory a adresáře

    Instalace ownCloud se skládá ze stažení a rozbalení archivu s některými vylepšeními na straně serveru, takže proveďte:

    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

    A opět, apache jako skupina v posledním příkazu není chyba. php-fpm se standardně spouští jako uživatelský apache

  5. Přístup na web

    Otevřete port 443, abyste měli přístup k webu, proveďte:

    iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 443 -j PŘIJÍMAT
    uložení iptables služby
    restart služby iptables

Testovací provoz

Přejděte na https://owncloud.example.com pomocí svého prohlížeče a dokončete instalační postup.

Zvolte uživatelské jméno a heslo administrátora, zvolte PostgreSQL jako backend databáze a zadejte příslušné hodnoty do Nastavení připojení k databázi.

Užívat si.

Odstraňování problémů

Soubory protokolu jsou umístěny následovně:

/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. 15 Linux Hardening Steps for CentOS 7 Server

  2. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  3. Jak nastavit server NFS na CentOS 7 / RHEL 7

  1. 4 kroky k nastavení místního úložiště v Ubuntu pomocí APT-mirror

  2. Nastavte server Urbackup na Ubuntu 20.04

  3. Jak nastavit replikaci MySQL na CentOS

  1. Nastavte SysLog Server na CentOS 6 / RHEL 6

  2. Nastavte si ownCloud 5 na Fedoře 18

  3. Nastavte centralizovaný server Rsyslog na CentOS 7