Thứ sáu, 13/09/2013 | 00:00 GMT+7

Cách cài đặt Diaspora trên VPS CentOS 6 x86


Cài đặt Diaspora trên VPS CentOS 6 x86


Diaspora là một mạng xã hội phân tán, open-souce . Thay vì một công ty duy nhất kiểm soát và nắm quyền sở hữu nội dung của user , " group " Diaspora có thể được lưu trữ bởi bất kỳ ai. Các group thường được cấu hình để user có thể tương tác với user trên các group công khai khác.

Bước 1: Cấu hình hệ điều hành


Thêm không gian swap

Nếu bạn đang chạy một VPS ( server ) có RAM dưới 2 GB, bạn cần bật tính năng swap trên VPS của bạn . Nếu bạn không làm như vậy, một số bước xây dựng có thể bị thất bại.

Hướng dẫn này có hướng dẫn cách bật tính năng swap cho CentOS 6. Đối với VPS nhỏ hơn, hãy thêm ít nhất 1 GB dung lượng swap .

Tạo một user local , không phải root

Hầu hết các bước sẽ được chạy với quyền user không phải root có quyền truy cập sudo. Hướng dẫn này sẽ hướng dẫn bạn cách tạo account user và cấp cho nó quyền .

Thêm kho EPEL

EPEL là viết tắt của Extra Packages for Enterprise Linux và nó có một số gói ta cần cài đặt không phải là một phần của repository CentOS cơ sở.

Đăng nhập với quyền user local của bạn và chạy:

sudo su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm' 

Cài đặt các gói tiên quyết

Tiếp theo, bạn cần cài đặt các gói mà Diaspora yêu cầu để xây dựng và chạy.

sudo yum install tar make automake gcc gcc-c++ git net-tools libcurl-devel libxml2-devel libffi-devel libxslt-devel tcl ImageMagick npm mysql-server mysql-devel nginx libyaml libyaml-devel patch readline-devel libtool bison 

Cài đặt Redis

Redis là một repodata giá trị khóa open-souce mà Diaspora yêu cầu. Cài đặt nó và cấu hình nó để bắt đầu khi server khởi động :

sudo yum install redis.x86_64 sudo chkconfig --add redis sudo chkconfig --level 345 redis on sudo /etc/init.d/redis start 

Thêm một user Diaspora chuyên dụng

Đây là account user sẽ chạy Diaspora. Bạn có thể đặt tên account này bất cứ điều gì bạn thích, nhưng hướng dẫn này sẽ giả định user này được gọi là diaspora .

sudo useradd diaspora 

Bước 2: Khởi động và cấu hình MySQL


Tiếp theo là cấu hình MySQL cho Diaspora.

Khởi động MySQL

MySQL đã được cài đặt trước đó, nhưng vẫn chưa chạy. Khởi động server MySQL.

sudo /etc/init.d/mysqld start 

Tạo Database Diaspora và User MySQL

Đầu tiên, hãy mở MySQL dưới dạng root.

sudo mysql 

Bây giờ, hãy tạo một user diaspora và database ta sẽ sử dụng.

CREATE USER 'diaspora'@'localhost' IDENTIFIED BY 'password'; CREATE DATABASE diaspora_production; 

Bây giờ cấp cho user đã được tạo quyền truy cập vào database mới:

GRANT ALL PRIVILEGES ON diaspora_production.* TO 'diaspora'@'localhost'; FLUSH PRIVILEGES; 

exit để thoát MySQL.

Đặt MySQL để bắt đầu khi server khởi động

Đặt CentOS để khởi động MySQL daemon khi server khởi động lại.

sudo chkconfig --level 345 mysqld on 

Bước 3: Cài đặt và cấu hình Diaspora


Bước tiếp theo là lấy nguồn Diaspora và cấu hình nó để chạy trên VPS của bạn. Các lệnh này sẽ được chạy với quyền user Diaspora mà bạn đã tạo trước đó.

sudo su - diaspora 

Sửa quyền trên Diaspora Home Directory

Để phục vụ một số file mà Diaspora cần, quyền của folder chính Diaspora cần được nới lỏng để cho phép truy cập đọc và thực thi đang mở:

chmod ugo+rx ~diaspora 

Cài đặt rvm

Đảm bảo rằng bạn vẫn đăng nhập với quyền là user Diaspora của bạn và cài đặt nhánh ổn định của rvm:

\curl -s -S -L https://get.rvm.io | bash -s stable 

rvm sẽ thêm một số cài đặt môi trường vào các tập lệnh đăng nhập cho user hải ngoại; đảm bảo rằng những điều này đã được cài đặt , dễ dàng nhất để đăng xuất sau đó đăng nhập lại.

exit sudo su - diaspora 

Cài đặt Ruby

Sử dụng rvm để cài đặt version Ruby do Diaspora yêu cầu. Các version mới hơn của Ruby có thể không được hỗ trợ đầy đủ.

rvm autolibs read-only rvm install 1.9.3-p448 

Tìm nạp mã nguồn Diaspora

Bây giờ sao chép mã nguồn cho Diaspora.

git clone git://github.com/diaspora/diaspora.git 

Nhập folder diaspora mà git đã tạo.

cd diaspora 

Bạn sẽ thấy thông báo cảnh báo sau khi thay đổi sang folder diaspora :

******************************************************************************** * NOTICE                                                                       * ******************************************************************************** * RVM has encountered a new or modified .rvmrc file in the current directory,  * * this is a shell script and therefore may contain any shell commands.         * *                                                                              * * Examine the contents of this file carefully to be sure the contents are      * * safe before trusting it!                                                     * * Do you wish to trust '/home/diaspora/diaspora/.rvmrc'?                       * * Choose v[iew] below to view the contents                                     * ******************************************************************************** y[es], n[o], v[iew], c[ancel]> 

Nhập y để xác nhận bạn muốn tin cậy .rvmrc.

Cấu hình Database Diaspora

Sao chép file cấu hình database mẫu vào nơi Diaspora mong đợi.

cp config/database.yml.example config/database.yml 

Chỉnh sửa cài đặt trong database.yml để phù hợp với database bạn đã tạo trước đó.

emacs config/database.yml 

Một số dòng đầu tiên hiển thị cấu hình MySQL. Thay đổi tên user và password của account MySQL bạn đã tạo trước đó khi cài đặt database MySQL. Khối cuối cùng sẽ trông giống như thế này, với password được đặt thành những gì bạn đã chọn trước đó:

mysql: &mysql   adapter: mysql2   host: "localhost"   port: 3306   username: "diaspora"   password: "password"   charset: utf8   collation: utf8_bin 

Cấu hình các tùy chọn Diaspora

Sao chép file cấu hình ví dụ để Diaspora sẽ tìm thấy nó.

cp config/diaspora.yml.example config/diaspora.yml 

Mở file này trong editor để chỉnh sửa một số cài đặt.

emacs config/diaspora.yml 

Bạn cần cập nhật một số điều:

  • Tìm url: bắt đầu dòng url: và cập nhật url: này bằng tên server của server của bạn và bỏ comment đó bằng cách xóa bất kỳ ký hiệu # nào ở đầu.
  • Thấp hơn một vài dòng, tìm một dòng có nội dung #certificate_authorities: '/etc/pki/tls/certs/ca-bundle.crt' và xóa # ở đầu để bỏ ghi chú.
  • Xuống một vài dòng nữa, hãy tìm một dòng bắt đầu require_ssl . Xóa # đầu dòng này và đặt giá trị thành false.

Cài đặt Đá quý cần thiết và Cài đặt Database

Ruby cần tìm nạp và cài đặt một số đá quý Diaspora cần.

RAILS_ENV=production bundle install --without test development 

Tiếp theo xây dựng schemas database .

RAILS_ENV=production bundle exec rake db:schema:load 

Cuối cùng, biên dịch trước Diaspora.

RAILS_ENV=production bundle exec rake assets:precompile 

Bước 4: Khởi động Diaspora


Tạo một tập lệnh init sẽ giúp dễ dàng khởi động Diaspora:

sudo emacs /etc/init.d/diaspora 

Dán nội dung sau:

#! /bin/sh # chkconfig: - 86 30 # Author: FABIAN Tamas Laszlo <giganetom@gmail.com> # Source: https://github.com/netom/diaspora-init/blob/master/init/diaspora  PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC="Diaspora application server" NAME=diaspora DIASPORA_HOME="/home/diaspora/diaspora" STARTSCRIPT="RAILS_ENV=production ./script/server" LOGFILE=$DIASPORA_HOME/log/startscript.log SCRIPTNAME=$0 USER=diaspora STARTUP_TIMEOUT=100  check_unicorn() {     pgrep -f "unicorn_rails master" }  check_sidekiq() {     pgrep -f "sidekiq 2" }  do_start() {     if ! touch $LOGFILE; then         echo "Could not touch logfile"         return 2     fi      if ! chown $USER $LOGFILE; then         echo "Could not chown logfile"         return 2     fi      if check_unicorn && check_sidekiq; then         echo "Diaspora is already running"         return 1     fi      if ! su -l $USER -c "cd $DIASPORA_HOME; $STARTSCRIPT >> $LOGFILE 2>&1 &"; then         echo "Could not run start script"         return 2     fi      [ "$VERBOSE" != no ] && echo "Waiting for Diaspora processes... "     c=0     while ! check_unicorn > /dev/null || ! check_sidekiq > /dev/null; do         if [ $c -gt $STARTUP_TIMEOUT ]; then             echo "Timeout waiting for Diaspora processes"             return 2         fi         c=`expr $c + 1`         sleep 1         [ "$VERBOSE" != no ] && echo -n "."     done     [ "$VERBOSE" != no ] && echo 0 }  do_stop() {     for i in `check_unicorn`; do         [ "$VERBOSE" != no ] && echo "Killing unicorn master with PID $i"         kill -TERM $i         [ "$VERBOSE" != no ] && echo $?     done      for i in `check_sidekiq`; do         [ "$VERBOSE" != no ] && echo "Killing sidekiq with PID $i"         kill -TERM $i         [ "$VERBOSE" != no ] && echo $?     done      return 0 }  case "$1" in   start)     [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"     do_start     case "$?" in         0|1) [ "$VERBOSE" != no ] && echo 0 ;;         *) [ "$VERBOSE" != no ] && echo 1 ;;     esac     ;;   stop)     [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"     do_stop     case "$?" in         0|1) [ "$VERBOSE" != no ] && echo 0 ;;         2) [ "$VERBOSE" != no ] && echo 1 ;;     esac     ;;   status)     echo 'Checking for running Diaspora processes'      unicorn_running=false     for i in `check_unicorn`; do         echo "Found unicorn master qith PID $i"         unicorn_running=true     done      sidekiq_running=false     for i in `check_sidekiq`; do         echo "Found sidekiq with PID $i"         sidekiq_running=true     done      if $unicorn_running && $sidekiq_running; then         echo "Diaspora health is OK"         echo 0     else         if $unicorn_running; then             echo "Unicorn is RUNNING, but sidekiq is DOWN!"             echo 1             return 1         fi         if $sidekiq_running; then             echo "Sidekiq is RUNNING, but unicorn is DOWN!"             echo 1             return 1         fi         echo "All Diaspora processes are DOWN"         echo 0     fi     ;;   restart|force-reload)     [ "$VERBOSE" != no ] && echo "Restarting $DESC" "$NAME"     do_stop     case "$?" in       0|1)         do_start         case "$?" in             0) [ "$VERBOSE" != no ] && echo 0 ;;             1) [ "$VERBOSE" != no ] && echo "old process is still running" && echo 1 ;;             *) [ "$VERBOSE" != no ] && echo "failed to start" && echo 1 ;;         esac         ;;       *)         [ "$VERBOSE" != no ] && echo "failed to stop"         [ "$VERBOSE" != no ] && echo 1         ;;     esac     ;;   *)     echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2     exit 3     ;; esac  : 

Và cấp quyền thực thi:

sudo chmod u+x /etc/init.d/diaspora 

Bây giờ hãy cấu hình CentOS để bắt đầu điều này khi chạy nó để khởi động VPS của ta .

sudo chkconfig --add diaspora sudo chkconfig --level 345 diaspora on sudo /etc/init.d/diaspora start 

Thao tác này sẽ khởi động server Diaspora lắng nghe IP của VPS của bạn trên cổng 3000 và để nó chạy ở chế độ nền.

Bước 5: Cấu hình nginx


nginx sẽ đảo ngược các kết nối proxy từ web đến server Diaspora.

Tinh chỉnh cấu hình nginx chính

sudo emacs /etc/nginx/nginx.conf 

Trong phần http , thêm một dòng:

server_names_hash_bucket_size       128; 

Tạo cấu hình nginx Diaspora

Bây giờ, hãy mở một file mới để tạo cấu hình nginx cho Diaspora.

sudo emacs /etc/nginx/conf.d/diaspora.conf 

Dán nội dung sau. Bạn cần cập nhật đường dẫn server_name thành tên server của bạn .

upstream diaspora {   server          localhost:3000; }   server {   server_name YOURSERVER.COM;   listen 80;   gzip on;   gzip_min_length 1000;   gzip_types application/json text/css application/x-javascript;    root /home/diaspora/diaspora/public;   try_files $uri @diaspora;   location @diaspora {     proxy_set_header X-Real-IP $remote_addr;     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_set_header X-Forwarded-Proto https;     proxy_set_header Host $http_host;     proxy_redirect off;     proxy_pass http://diaspora;   } } 

Khởi động lại nginx

Bây giờ file cấu hình đã được tạo, hãy khởi động lại nginx để nhận các thay đổi.

sudo /etc/init.d/nginx stop sudo /etc/init.d/nginx start 

Lệnh dừng có thể không thành công nếu ngnix hiện không chạy, nhưng lệnh bắt đầu sẽ thành công.

Đặt nginx thành Bắt đầu khi Khởi động

Đặt CentOS để khởi động daemon nginx khi VPS khởi động lại.

sudo chkconfig --level 345 nginx on 

Bước 6: Sử dụng Diaspora!


Bây giờ nginx và Diaspora đều đang hoạt động, bạn có thể chuyển đến version Diaspora của bạn và bắt đầu sử dụng nó. Bạn có thể truy cập nó bằng cách chuyển đến tên server của bạn bằng trình duyệt web. Bạn sẽ trở nên tuyệt vời hơn với trang chào mừng Diaspora nơi bạn có thể tạo account Diaspora local đầu tiên của bạn .

Ảnh chụp màn hình Diaspora
<br/>
<div class = “author”> Gửi bởi: <a href=osystemhttp://jimreardon.us/[> Jim Reardon </a> </div>


Tags:

Các tin liên quan

Cách cài đặt Discourse trên VPS CentOS 6.4 x64
2013-09-11
Cách cài đặt ejabberd trên VPS CentOS 5 và CentOS 6
2013-09-04
Cách đặt chính sách mật khẩu trên VPS CentOS 6
2013-09-03
Cách biên dịch Node.js với NPM từ nguồn trên CentOS 6
2013-08-21
Cài đặt và cấu hình Zenoss trên server riêng ảo CentOS
2013-07-17
Cách cài đặt Laravel 4 trên VPS CentOS 6
2013-07-15
Cách chuyển đổi video bằng FFMpeg trên CentOS 6
2013-05-31
Cách tạo plugin Nagios với Bash trên CentOS 6
2013-04-29
Cách tạo plugin Nagios với Perl trên CentOS 6
2013-04-29
Cách tạo plugin Nagios với Ruby On CentOS 6
2013-04-29