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;
Gõ 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òngurl:
và cập nhậturl:
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 .
<br/>
<div class = “author”> Gửi bởi: <a href=osystemhttp://jimreardon.us/[> Jim Reardon </a> </div>
Các tin liên quan
Cách cài đặt Discourse trên VPS CentOS 6.4 x642013-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