GNU/Linux >> Linux の 問題 >  >> Cent OS

事前設定手順

あなたのクラウド、あなたのデータ、あなたのやり方! --ownCloud 4.0 on CentOS 6.2 + nginx + PostgreSQL

このドキュメントでは、postgreSQLデータベースをバックエンドとして使用するnginxおよびphp-fpmのtarパッケージからCentOS6.2ベースのWebサーバーに「ownCloudコミュニティ」でownCloudをインストールしてセットアップする方法について説明します。他のディストリビューションの場合、ソフトウェアの前提条件のインストール手順に関して小さな変更がある可能性があります。このガイドは、製品のインストールに役立つだけでなく、特定のポイントが実行される方法で実行される理由も理解します(これは、少し前のようにLinuxの使用を開始したばかりの知識がほとんどまたはまったくないユーザーに最も役立ちます)。

ownCloudとは何ですか?

これはグループまたは会社のファイル/連絡先/カレンダー共有ツールであり、私の観点からは、DropboxとGroupOfficeの両方を最大限に活用し(これまでの電子メール統合を除く)、AlfrescoやSharepointほど雑然としたり重くはありません。

開発者のいくつかのセクションへのリンク:

  • 製品のホームページ:http://owncloud.org/
  • IRC:http://webchat.freenode.net/?channels=owncloud
  • サポート:http://owncloud.org/support/

後で、前提条件とメインの両方のソフトウェアに変更が加えられ、このチュートリアルで説明されている手順が失敗したり、正常に完了できなくなったりする可能性があるため、これが機能することを保証しません。
P.S.追加されたバグはすべて私のものです。コメントを使用するか、IRCを参照してください。

予備メモ

このチュートリアルでは、以下を使用します:

  • Centos6.2インストールメディア
  • ホスト名:owncloud.example.com
  • IPアドレス:192.168.1.100
  • ルーターアドレス:192.168.1.1
  • ネットマスク:255.255.255.0
  • サーバーがパブリックインターネットに接続されていると想定(想像)
  • サーバーを横に置いている場合や、仮想マシンをメインのオペレーティングシステムで実行している場合でも、コンピューターを使用してssh(Windowsのパテ)を介してサーバーをリモートで管理します。
  • プライマリテキストエディタとしてのGNUvim。ただし、他の好みのものを自由に使用してください

要件

Centos 6.2のクリーンな(最小限の)インストールが必要になります(x86またはx86_64は関係ありません)。私は個人的にx86_64バージョンを使用していますが、同じようにすることを強くお勧めします。

ファーストシングスファースト

rootとしてサーバーコンソールにログインします。[[emailprotected]〜]#プロンプトが表示されます。

私は完全にオプションの特定の設定を好みますが、後で役立つかもしれません。プロンプトに日付、時刻、サーバー名、現在のフォルダーを含むカラーで出力を表示するように端末を設定しました。また、コマンドの履歴を日付/時刻とともに表示します。また、デフォルトの履歴サイズ値を増やします。

これを行うには、次を実行します:

vi ~/.bash_profile

exportPATHディレクティブの後に上記の行を追加します。わからない場合は、「i」を押すと挿入モードになり、「ESC」を押すと終了します。 Viはviです:)

#History size to hold 50.000 commands and inflate filesize ten times bigger
export HISTSIZE=50000
export HISTFILESIZE=500000
#Show history with date as example: "24.05.2012 - 14:28:56"
export HISTTIMEFORMAT="%d.%m.%Y - %H:%M:%S "
#Autocolor output of "ls" command
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
#Set prompt to display as example: "Thu May 24 2012  14:28:56 owncloud.example.com of root @ ~]"
#and colorize date, time and location differently. Set all input text to default values.
PS1="\e[1;37m\][\e[1;36m\] \d \D{%Y}  \e[1;31m\]\t \e[1;37m\] \H of \u @ \W] \033[00m\]"

ファイルを保存して終了します。繰り返しますが、わからない場合は、挿入モードの外で「:wq」と入力してEnterキーを押して保存して終了するか、「ZZ」を押して同じ操作を行います。ターミナルに再ログインして変更を適用するには、次のコマンドを実行します。

exit

ネットワーキング

インストール中に静的IPアドレスを設定しなかった場合、たとえばDHCP対応ルーターを使用している場合は、今すぐ設定する必要があります。設定しない場合は、次の手順に進みます。

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

上記の行のみを変更または追加します。

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

保存して終了。次に、ネットワークを再起動します。

service network restart

次のコマンドを実行して、ネットワークが再構成されていることを確認します。

ifconfig

これで、192.168.1.100のサーバーにrootとしてssh接続できるようになります。ただし、まだそれを行わないでください。最初に次のステップを完了してください。

サーバーの保護

先に進む前に、サーバーは実際にはインターネットに接続されていると想定しているため、サーバーを保護する必要があります。 3つのことを行います。

  • ssh-serverを再構成して、rootログインが許可されないようにし、デフォルトのポート22をあまり一般的ではない別のポート22(60606など)に変更します。
  • 新しいポートでの着信接続を許可するようにiptablesを設定します
  • ssh経由でログインするには、最初のシステムユーザーを追加します。
  1. リモートログインの保護

    コンソールからサーバーにまだログインしていない場合(つまり、ローカルコンソールであり、まだsshではありません)、rootとしてログインしてから、次のコマンドを実行します。

    vi /etc/ssh/sshd_config

    変更されていないデフォルトファイルの13行目に(もう一度疑問に思う場合は、「:set number」と入力し、Enterキーを押して行番号を取得します)、ポート22ディレクティブがあります。複製し、ポート番号を60606に変更して、コメントを解除します。
    次に、(挿入モードの外で「/」を押して、探しているフレーズを入力します)PermitRootLogin yesディレクティブを再度複製し、値をnoに変更して、コメントを解除します。 、ファイルを保存します。ああ、ハイライトをオフに切り替えるのは「:noh」です。
    後でsshdを再起動します:

    service sshd restart
  2. iptablesの設定

    まず、既存のiptablesを確認します:

    iptables -L -v --line-numbers

    位置「4」でのデフォルトのインストールでは、デフォルトのsshポートで新しいtcp接続を受け入れるように指示されます。これを取り除く必要があるため、次のように実行します。

    iptables -D INPUT 4

    次に、代わりにポート60606への接続を許可する必要があります。実行:

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

    最後に、現在のiptablesの状態を保存するには、次のコマンドを実行します。

    service iptables save
    service iptables restart

  3. 最初のユーザーの追加

    ルートが許可されておらず、他のシステムユーザーがまだいないため、1つを除いて、すべてが順調に進んでいます。修正する時間:

    useradd -c "ownCloud system user" -m -n cloudadmin

    このユーザーのパスワードを設定します:

    passwd cloudadmin

    終わり。最初のコマンドでユーザーのパスワードを設定できますが、この方法では、パスワード値はターミナルウィンドウへの入力時に表示され、rootユーザーの.bash_historyにも保存されます。これは望ましくありません。
    これで、を介してログインできます。ローカルコンピュータのターミナルウィンドウで次のコマンドを実行するssh:

    ssh [email protected] -p60606

事前設定手順

ほとんどの場合、ソフトウェアのインストールは非常に簡単で、最初のインストール時にほとんどを「チェック」できますが、私は手動で行うことを好みます。
意図的にインストールをセクションに分割します。

  1. スーパーユーザーとしてのロギング

    この時点で、clouddminユーザーとしてコンソールプロンプトが表示されます。ルート権限を取得するには、次のコマンドを実行します。

    su -
  2. ソフトウェアリポジトリ

    目的のソフトウェアを使用するには、2つのリポジトリが必要です。
    最初のEPEL、実行:

    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-6.noarch.rpm
    いいえ、i386は間違いではありません。32ビットシステムと64ビットシステムの両方で同じです。
    次に、Remiを実行します。

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

    > 次に、epelリポジトリとremiリポジトリの両方をチェックし、そこにない場合は、以下を実行してenabled=1に設定します。

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

    最後に、システムを更新します。新しくインストールしたCentOSでさえ、最初に更新が必要になる場合があります。実行:
    yum update -y
  3. 精度時間

    他の世界と同期し、実行するのは良いことです:

    yum install ntp
    service ntpd start
    chkconfig ntpd on
    ntpd

  4. その他のツール

    私の生活を少し楽にするために、viの代わりにvim、topの代わりにhtop、elinksを使用して、ターミナルとmc内から物事をすばやくテストします。これは、デュアルペインのファイルマネージャーとしてだけでなく、wgetがものをダウンロードする必要があります。あなたがほとんど何でも読みたいとき、人は不可欠です。実行:

    yum install vim htop elinks mc wget man -y

ownCloudセットアップ

  1. ソフトウェアの前提条件

    たくさんのphpのもの、実行:

    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-tidy php-pgsql

    php.iniを編集し、実行します:

    vim /etc/php.ini

    変更するディレクティブは4つあります。
    最初は736行目、ディレクティブpost_max_size
    848行目は2番目、ディレクティブcgi.fix_pathinfo
    885行目は3番目、ディレクティブupload_max_filesize
    最後は956行目、ディレクティブdate.timezoneは、サーバーの場所に応じて変更します。

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

    方法がわからない場合は、次のコマンドを実行してタイムゾーン名を見つけることができます。

    cat /etc/sysconfig/clock

    次に、tcpスタックの代わりにunixソケットを使用するようにphp-fpmを構成し、次を実行します。

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

    12行目から、次のようになります。

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

    php-fpmを起動します:

    chkconfig php-fpm on
    service php-fpm start

  2. バックエンド-PostgreSQL

    インストールして設定するには、次のコマンドを実行します。

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

    postgresシステムユーザーとしてpostgresにログインし、データベースユーザー、データベースを作成し、権限を付与します

    su --- c "psql"postgres
    パスワード「userpass」を使用してユーザーclouduserを作成します;
    「UTF8」をエンコードするデータベースclouddbOWNERclouduserを作成します;
    データベースclouddbのすべての特権をclouduserに付与します;
    \ q

    パスワードログインを許可するようにpostgresql構成ファイルを変更します:

    vim /var/lib/pgsql/data/pg_hba.conf
    • 検索

      #IPv4ローカル接続:
      すべての127.0.0.1/32identをホスト

    • そしてそれを

      に変更します

      #IPv4ローカル接続:
      すべての127.0.0.1/32パスワードをホストします

    次にデータベースを再起動します:

    service postgresql restart
  3. nginxWebサーバー

    インストールし、起動時に開始するように設定してから停止します:

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

    ownclod Webサイトの構成ファイルを準備します:

    vim /etc/nginx/conf.d/owncloud.conf
    # redirect http to https.
    server {
      listen 80;
      server_name owncloud.example.com;
      rewrite ^ https://$server_name$request_uri? permanent;  # enforce https
    }
    # owncloud (ssl/tls)
    server {
      listen 443 ssl;
      ssl_certificate /etc/nginx/certs/server.crt;
      ssl_certificate_key /etc/nginx/certs/server.key;
      server_name owncloud.example.com;
      root /var/www/owncloud;
      index index.php;
      client_max_body_size 64M; # set maximum upload size
      # deny direct access
      location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
        deny all;
      }
      # default try order
      location / {
        try_files $uri $uri/ @webdav;
      }
      # owncloud WebDAV
      location @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 on;
        include fastcgi_params;
      }
      # enable php
      location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS on;
        include fastcgi_params;
      }
    }

    次に、サーバーの証明書を作成し、設定に従ってプロンプトで質問に答えましょう。

    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-inserver。 csr -signkey server.key -out server.crt

    nginxをリロードして、新しい構成を有効にします:

    service nginx reload
  4. ownCloudファイルとディレクトリ

    ownCloudのインストールは、アーカイブのダウンロードと解凍で構成され、サーバー側でいくつかの調整が行われるため、次のように実行されます。

    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

    また、最後のコマンドのグループとしてのapacheはエラーではありません。 php-fpmは、デフォルトでユーザーapacheとして実行されます

  5. ウェブサイトにアクセス

    Webサイトにアクセスできるようにするには、ポート443を開き、次のコマンドを実行します。

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

テスト実行

選択したブラウザからhttps://owncloud.example.comにアクセスし、インストール手順を完了します。

管理者のユーザー名とパスワードを選択し、データベースバックエンドとしてPostgreSQLを選択して、データベース接続設定に適切な値を投稿します。

楽しみ。

トラブルシューティング

ログファイルは次のように配置されています:

/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. CentOS 6 /RHEL6でのSysLogサーバーのセットアップ

  2. Ubuntu20.04でUrbackupサーバーをセットアップする

  3. CentOSでMySQLレプリケーションを設定する方法

  1. CentOSでSFTPサーバーをセットアップする方法

  2. Debian11でRsyslogサーバーをセットアップする方法

  3. CentOS 7 /RHEL7でNFSサーバーをセットアップする方法

  1. APTミラーを使用してUbuntuでローカルリポジトリをセットアップする4つの手順

  2. CentOS7サーバー用の15のLinux強化手順

  3. CentOS 7 /RHEL7でSysLogサーバーをセットアップする方法