GNU/Linux >> Belajar Linux >  >> Cent OS

Langkah-Langkah Pra-Pengaturan

Cloud Anda, Data Anda, Sesuai Keinginan Anda! - ownCloud 4.0 Pada CentOS 6.2 + nginx + PostgreSQL

Dokumen ini menjelaskan cara menginstal dan mengatur ownCloud oleh "komunitas ownCloud" pada server web berbasis CentOS 6.2 dari paket tar pada nginx dan php-fpm dengan database postgreSQL sebagai backend. Untuk distribusi lain mungkin ada perubahan kecil pada prosedur instalasi prasyarat perangkat lunak. Panduan ini tidak hanya akan membantu menginstal produk, tetapi juga memahami mengapa poin-poin tertentu dilakukan dengan cara seperti itu (ini sangat membantu bagi pengguna dengan sedikit atau tanpa pengetahuan yang, seperti saya beberapa waktu lalu, baru mulai menggunakan Linux).

Apa itu ownCloud?

Ini adalah alat berbagi grup atau perusahaan file / kontak / kalender, yang, dari sudut pandang saya, membuat yang terbaik dari Dropbox dan GroupOffice (kecuali untuk integrasi email sejauh ini), dan tidak berantakan atau seberat Alfresco atau Sharepoint.

Tautan ke beberapa bagian pengembang:

  • Beranda produk:http://owncloud.org/
  • IRC:http://webchat.freenode.net/?channels=owncloud
  • Dukungan:http://owncloud.org/support/

Saya tidak menjamin itu akan berhasil untuk Anda, karena nanti mungkin ada perubahan pada perangkat lunak, baik prasyarat maupun utama, dilakukan sedemikian rupa sehingga akan merusak atau bagaimanapun juga melarang prosedur yang disebutkan dalam tutorial ini untuk diselesaikan dengan sukses.
P.S. Semua bug yang ditambahkan adalah milik saya. Gunakan komentar atau jelajahi IRC.

Catatan Awal

Dalam tutorial ini kami menggunakan:

  • Media penginstalan Centos 6.2
  • Nama host:owncloud.example.com
  • Alamat IP:192.168.1.100
  • Alamat perute:192.168.1.1
  • Netmask:255.255.255.0
  • Asumsikan(bayangkan) bahwa server terhubung ke internet publik
  • Kami menggunakan komputer kami untuk mengelola server dari jarak jauh melalui ssh (dempul di windows), bahkan jika Anda memiliki server di sisi Anda, atau menjalankannya sebagai mesin virtual di bawah sistem operasi utama Anda
  • GNU vim sebagai editor teks utama kami. Tapi silakan gunakan yang lain sesuai keinginan Anda

Persyaratan

Kami akan membutuhkan instalasi Centos 6.2 yang bersih (minimal) (x86 atau x86_64 tidak relevan), saya pribadi menggunakan versi x86_64 dan saya sangat menyarankan Anda melakukan hal yang sama.

Hal Pertama Yang Utama

Masuk ke konsol server sebagai root. Anda akan berada di perintah [[email protected] ~]#.

Saya lebih suka pengaturan tertentu, yang sepenuhnya opsional, tetapi Anda mungkin menganggapnya berguna nanti. Saya mengatur terminal saya untuk menampilkan output dalam warna dengan tanggal, waktu, nama server dan folder saat ini pada prompt. Juga untuk menampilkan riwayat perintah dengan tanggal/waktu. Saya juga meningkatkan nilai ukuran sejarah default.

Untuk melakukannya, jalankan:

vi ~/.bash_profile

Tambahkan baris yang disebutkan setelah direktif PATH ekspor. Jika Anda tidak tahu, menekan "i" masuk ke mode insert, "ESC" keluar. Vi adalah vi :)

#Ukuran riwayat untuk menampung 50.000 perintah dan memperbesar ukuran file sepuluh kali lebih besarekspor HISTSIZE=50000ekspor HISTFILESIZE=500000#Tampilkan riwayat dengan tanggal sebagai contoh:"24.05.2012 - 14:28:56"export HISTTIMEFORMAT="%d.%m .%Y - %H:%M:%S "#Autocolor output dari "ls" commandexport LS_OPTIONS='--color=auto'eval "`dircolors`"#Setel prompt untuk ditampilkan sebagai contoh:"Thu May 24 2012 14 :28:56 owncloud.example.com dari root @ ~]"#dan mewarnai tanggal, waktu, dan lokasi secara berbeda. Setel semua teks masukan ke nilai default.PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y} \e[1;31m\]\t \e[1;37m\] \H dari \u @ \W] \033[00m\]"

Simpan dan keluar dari file. Sekali lagi, jika Anda tidak tahu, di luar mode penyisipan Anda masuk ke ":wq" dan tekan enter untuk menyimpan dan keluar, atau cukup tekan "ZZ" untuk melakukan hal yang sama. Untuk masuk kembali ke terminal untuk menerapkan perubahan, jalankan:

keluar

Jaringan

Jika Anda tidak menyetel alamat IP statis selama penginstalan, misalnya Anda memiliki perute berkemampuan DHCP, Anda harus melakukannya sekarang, jika tidak, lanjutkan ke langkah berikutnya.

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

Ubah atau tambahkan hanya baris yang disebutkan.

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

Simpan dan keluar. Kemudian restart jaringan:

jaringan layanan dimulai ulang

Periksa apakah jaringan dikonfigurasi ulang dengan menjalankan:

ifconfig

Sekarang Anda seharusnya dapat melakukan ssh ke server pada 192.168.1.100 sebagai root. Tapi jangan lakukan itu dulu, selesaikan dulu langkah selanjutnya.

Mengamankan Server

Sebelum kita melangkah lebih jauh, karena kita berasumsi bahwa server sebenarnya terhubung ke internet, kita perlu mengamankannya. Kami akan melakukan tiga hal.

  • Konfigurasi ulang ssh-server sehingga tidak mengizinkan login root dan mengubah port default 22 menjadi yang lain, yang kurang umum, yaitu 60606,
  • Siapkan iptables untuk mengizinkan koneksi masuk pada port baru,
  • Tambahkan pengguna sistem pertama kami untuk masuk dengannya melalui ssh.
  1. Mengamankan login jarak jauh

    Jika Anda belum login dari konsol ke server (maksud saya konsol lokal, belum ssh), login sebagai root, lalu jalankan:

    vi /etc/ssh/sshd_config

    Pada baris tiga belas dari file default yang tidak diubah (jika Anda bertanya-tanya lagi, ketik ":set number" dan tekan enter di luar mode insert untuk mendapatkan nomor baris) ada arahan Port 22. Duplikat, ubah nomor port menjadi 60606 dan batalkan komentar.
    Kemudian temukan (di luar mode penyisipan tekan "/" dan ketik frasa yang Anda cari) PermitRootLogin yes direktif duplikat lagi dan ubah nilainya menjadi tidak dan batalkan komentar juga , lalu simpan file. Oh, dan ini adalah ":noh" untuk menonaktifkan penyorotan.
    Mulai ulang sshd setelahnya:

    layanan sshd restart
  2. Mengatur iptables

    Pertama periksa iptables yang sudah ada:

    iptables -L -v --line-numbers

    Dalam instalasi default pada posisi '4' akan direktif untuk menerima koneksi tcp baru pada port ssh default, kita harus menyingkirkannya, lalu jalankan:

    iptables -D INPUT 4

    Sekarang kita perlu mengizinkan koneksi ke port 60606 sebagai gantinya. Jalankan:

    iptables -I INPUT 4 -p tcp -d 192.168.1.100 --dport 60606 -j ACCEPT

    Terakhir untuk menyimpan status iptables saat ini, jalankan:

    service iptables simpan
    service iptables restart

  3. Menambahkan pengguna pertama

    Semuanya baik-baik saja sekarang, kecuali satu hal, kami telah melarang diri kami sendiri dari ssh, karena root tidak diizinkan dan belum ada pengguna sistem lain. Waktu untuk mengoreksi:

    useradd -c "pengguna sistem ownCloud" -m -n cloudadmin

    Setel sandi untuk pengguna ini:

    passwd cloudadmin

    Selesai. Anda dapat mengatur kata sandi untuk pengguna pada perintah pertama, tetapi dengan cara ini nilai kata sandi akan terlihat selama entri di jendela terminal dan juga disimpan di .bash_history pengguna root, yang tidak diinginkan.
    Sekarang Anda dapat masuk melalui ssh menjalankan perintah berikut di jendela terminal Anda di komputer lokal:

    ssh [dilindungi email] -p60606

Langkah-Langkah Pra-Penyiapan

Penginstalan perangkat lunak dalam banyak kasus cukup mudah dan kami dapat 'memeriksa' sebagian besar saat penginstalan awal, tetapi saya lebih suka melakukannya dengan tangan.
Saya sengaja membagi penginstalan menjadi beberapa bagian.

  1. Mencatat sebagai pengguna super

    Pada saat ini Anda harus berada di prompt konsol sebagai pengguna clouddmin. Untuk mendapatkan hak akses root, jalankan:

    su -
  2. Repositori perangkat lunak

    Untuk menggunakan perangkat lunak yang diinginkan, diperlukan dua repositori.
    EPEL pertama, jalankan:

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
    Dan tidak, i386 tidak salah, itu sama untuk sistem 32-bit dan 64-bit.
    Kemudian Remi, jalankan:

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

    Sekarang periksa repositori epel dan remi dan jika tidak ada, atur diaktifkan =1 dengan menjalankan:

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

    Terakhir, perbarui sistem Anda. Bahkan CentOS yang baru diinstal mungkin memerlukan pembaruan terlebih dahulu. Jalankan:
    yum update -y
  3. Waktu presisi

    Adalah baik untuk sinkron dengan seluruh dunia, jalankan:

    yum install ntp
    service ntpd start
    chkconfig ntpd on
    ntpd

  4. Beberapa alat lain

    Untuk membuat hidup saya sedikit lebih mudah, saya menggunakan vim daripada vi, htop bukannya atas, elinks untuk menguji sesuatu dengan cepat dari dalam terminal dan mc, sebagai pengelola file panel ganda yang baik dan tidak hanya, wget diperlukan untuk mengunduh barang-barang dan man sangat penting ketika Anda ingin membaca apa saja. Jalankan:

    yum install vim htop elinks mc wget man -y

Pengaturan ownCloud

  1. Prasyarat perangkat lunak

    Banyak hal php, jalankan:

    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-shout php-snmp php-soap php-rapi php-pgsql

    Edit php.ini, jalankan:

    vim /etc/php.ini

    Ada empat arahan yang harus diubah,
    pertama harus pada baris 736, arahan post_max_size
    kedua pada baris 848, arahan cgi.fix_pathinfo
    ketiga pada baris 885, arahan upload_max_filesize
    terakhir pada baris 956, direktif date.timezone memodifikasinya sesuai dengan lokasi server Anda.

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

    Jika Anda tidak tahu caranya, Anda dapat menemukan nama zona waktu Anda dengan menjalankan:

    cat /etc/sysconfig/clock

    Selanjutnya, konfigurasikan php-fpm untuk menggunakan soket unix alih-alih tumpukan tcp, jalankan:

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

    Dari baris dua belas, buat seperti ini:

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

    Mulai php-fpm:

    chkconfig php-fpm pada
    layanan php-fpm mulai

  2. Backend - PostgreSQL

    Untuk menginstal dan mengaturnya, jalankan:

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

    Masuk ke postgres sebagai pengguna sistem postgres, buat pengguna basis data, basis data, dan berikan hak istimewa

    su - -c "psql" postgres
    BUAT PENGGUNA clouduser DENGAN PASSWORD 'userpass';
    BUAT DATABASE clouddb PEMILIK clouduser ENCODING 'UTF8';
    BERIKAN SEMUA HAK ISTIMEWA PADA DATABASE clouddb KEPADA clouduser;
    \q

    Ubah file konfigurasi postgresql untuk mengizinkan login kata sandi:

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

      # Koneksi lokal IPv4:
      host semua 127.0.0.1/32 ident

    • Dan ubah menjadi

      # Koneksi lokal IPv4:
      host semua 127.0.0.1/32 sandi

    Sekarang restart databasenya:

    service postgresql restart
  3. server web nginx

    Instal, atur untuk memulai saat boot dan kemudian hentikan:

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

    Siapkan file konfigurasi untuk website ownclod:

    vim /etc/nginx/conf.d/owncloud.conf
    # redirect http ke https.server { listen 80; nama_server owncloud.example.com; tulis ulang ^ https://$server_name$request_uri? permanen; # menegakkan https}# server owncloud (ssl/tls) { dengarkan 443 ssl; ssl_certificate /etc/nginx/certs/server.crt; ssl_certificate_key /etc/nginx/certs/server.key; nama_server owncloud.example.com; root /var/www/owncloud; indeks indeks.php; client_max_body_size 64M; # atur ukuran unggahan maksimum # tolak lokasi akses langsung ~ ^/(data|config|\.ht|db_structure\.xml|README) { tolak semua; } # default coba lokasi pesanan / { try_files $uri $uri/ @webdav; } # owncloud WebDAV lokasi @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 aktif; termasuk fastcgi_params; } # aktifkan lokasi php ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS aktif; termasuk fastcgi_params; }}

    Sekarang mari kita buat sertifikat untuk server, jawab pertanyaan di prompt sesuai dengan pengaturan Anda:

    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

    Muat ulang nginx untuk mengaktifkan konfigurasi baru:

    layanan nginx reload
  4. file dan direktori ownCloud

    instalasi ownCloud terdiri dari mengunduh dan membongkar arsip, dengan beberapa penyesuaian di sisi server, jadi, jalankan:

    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

    Dan sekali lagi, apache sebagai grup pada perintah terakhir bukanlah kesalahan. php-fpm dijalankan secara default sebagai apache pengguna

  5. Akses situs web

    Buka port 443 untuk dapat mengakses website, jalankan:

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

Uji Jalan

Jelajahi https://owncloud.example.com melalui browser pilihan Anda dan selesaikan prosedur instalasi.

Pilih nama pengguna dan kata sandi administrator, pilih PostgreSQL sebagai backend database dan posting nilai yang sesuai di pengaturan koneksi Database.

Menikmati.

Pemecahan masalah

File log terletak sebagai berikut:

/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 Langkah untuk Mengatur Repositori Lokal di Ubuntu menggunakan APT-mirror

  2. Siapkan ownCloud 5 di Fedora 18

  3. Cara mengatur replikasi MySQL di CentOS

  1. Cara Setup Server Rsyslog di Debian 11

  2. 15 Langkah Pengerasan Linux untuk Server CentOS 7

  3. Siapkan Server SysLog di CentOS 6 / RHEL 6

  1. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  2. Cara Setup Server NFS di CentOS 7 / RHEL 7

  3. Setup Server RSyslog Terpusat Pada CentOS 7