Episode 3: Web server

ở đây có nói chi tiết về cách tạo web server cho aegir.http://community.aegirproject.org/node/396

0.Chỉnh lại ip của web.com thành 192.168.56.102
0. passwd aegir
0. apt-get install sudo
1. Cài debian7 chọn hostname là web, username và pass là webdev
2. cài phần mêm trên web server (như ở trên)
3. nên chọn bash thay cho sh vì bash tốt hơn nhiều (cụ thể là cho xem user hiện tại, directory hiện tại, host hiện tại và có thể auto complete.)
5. không nên chạy dòng này
ln -s /var/aegir/config/apache.conf /etc/apache2/conf.d/aegir.conf
nếu chạy rồi thì xóa /etc/apache2/conf.d/aegir.conf đi

6. dòng add key của debian.com nên thay bằng scp

thay
cat > /var/aegir/.ssh/authorized_keys <<EOF
ssh-rsa AAAAB3NzaC1yc2EAAAADAQAB...UF aegir@filer01
EOF

bằng scp /var/aegir/.ssh/id_rsa.pub aegir@web.com:~/.ssh/authorized_keys
hay ssh-copy-id aegir@web.com
7. nếu thấy lỗi Could not rsync from '/var/aegir/...' to 'aegir@web.com:/
thì ở aegir.com ta đăng nhập vào aegir user, dùng lệnh ssh-copy-id aegir@web.com
8.ở web server không tạo được platforms
9. ln -s /var/aegir/config/apache.conf /etc/apache2/conf.d/aegir.conf
service apache2 restart -Tim
10. wget http://ftp.drupal.org/files/projects/drush-7.x-5.9.tar.gz
tar xfvz drush*.tar.gz
ln -s drush/drush /usr/bin/drush
cd platforms/drupal7/sites/all/modules
drush/drush dl …
cd platforms/drupal7/sites/examples.com
~/drush/drush en … -y
11. nano /etc/apache2/httpd.conf
ServerName localhost

nguồn
http://community.aegirproject.org/node/396
http://community.aegirproject.org/node/30
http://www.howtogeek.com/howto/ubuntu/installing-php5-and-apache-on-ubuntu/

Episode 4: Database server

1. Cài debian 7
trong khi cài bạn chọn hostname là database
có username là webdev và pass là webdev

2. cài xong khởi động lại bạn cài phần mềm mysql server:
apt-get install mysql-server  php5-mysql
trong lúc cài bạn chọn pass cho user root là root

3. cấu hình
a. cho phép remote access
ở database đi vào command line của mysql mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO aegir@aegir.com IDENTIFIED BY 'aegir' WITH GRANT OPTION;
FLUSH PRIVILEGES;

b. edit file my.cnf
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
comment dòng bind-address = 127.0.0.1
sudo /etc/init.d/mysql restart
c. lúc tạo database server, bạn nhập vào username và pass là aegir (vì aegir từ aegir.com đã được full quyền trên database.com)

tham khảo http://www.ghacks.net/2009/12/27/allow-remote-connections-to-your-mysql-server/

Episode 2: Cài Aegir server

1. Cài debian 6, lúc cài chọn root pass là root, thêm user name là aegir và password là aegir:
adduser –system –group –home /var/aegir aegir
passwd aegir
usermod -a -G www-data aegir

2. Cài Aegir server.
a. wget http://files.aegir.cc/versions/BARRACUDA.sh.txt
b. sau khi tải về ta thay đổi thông số của file BARRACUDA.sh.txt
_MY_OWNIP=”192.168.56.101″
_MY_HOSTN=”aegir.com”
_MY_FRONT=”master.aegir.com”
_EASY_HOSTNAME=”debian.com”
_AUTOPILOT=YES
_MY_EMAIL=”webdev@aegir.com”
_DNS_SETUP_TEST=NO
nếu có gặp lỗi dns thì
nano /root/.barracuda.cnf
_DNS_SETUP_TEST=NO
c. nano /etc/hosts
192.168.56.101   aegir.com
192.168.56.101   master.aegir.com
d. nano /etc/network/interface
auto eth1
iface eth1 inet static
address 192.168.56.101
network 192.168.56.0
netmask 255.255.255.0
# gateway 192.168.56.1
3. bạn nên thêm vào file /etc/hosts 2 dòng ở client:
192.168.56.101 aegir.com
192.168.56.101 master.aegir.com
để client có thể truy cập vào admin.aegir.com để thay đổi pass và thực hiện cấu hình.
ps: để đăng nhập và đổi pass ta làm như sau:
cd ~
cat install.log
dòng cuối cùng có chứa thông tin đăng nhập 1 lần để thay mật khẩu.
hay có thể cd vào ~/host_master/001/sites/master.aegir
drush uli
để thay pass

3.Sau khi cài xong, aegir cho ta một đường dẫn để reset password (nếu lỡ mất thì ta dùng lệnh drush uli). ta truy cập vào đường dẫn này từ 1 browser, reset username và pass lại thành admin và admin

4. chsh -s /bin/bash aegir
passwd aegir
su aegir
ssh-keygen
nano /etc/hosts
192.168.56.102 web.com
192.168.56.103 database.com

4. thêm webserver và database server.
ssh-copy-id aegir@web.com
ssh-copy-id root@web.com (rsync)
ssh-copy-id aegir@database.com

nguồn http://friendlydrupal.com/screencasts/installing-barracuda-aegir

Episode 1: Make drupal server run

1. Cài đặt virtualbox trên host. Ở đây mình dùng Ubuntu Desktop 13.04. Sau khi cài xong virtualbox, bạn vào File -> Preferences -> Network -> Add Host-only network. Bạn sẽ có một card mạng ảo trên host với dhcp đã được cấu hình sẵn với đường mạng 192.168.56.1/255.255.255.0.

2. Cài guest. Ở đây mình dùng Ubuntu Server 13.04. Tạo mới một Virtual Machine với 1 card mạng eth0, Attached to Host-only adapter, Name là card mạng ảo bên host, một shared folder để chia sẻ dữ liệu giữa host và guest dễ hơn. Lúc cài bạn nên chọn ở màn hình cài phần mềm là OpenSSH server, LAMP server, Mail server. Sau khi reboot guest, bạn đăng nhập vào và gõ lệnh sudo nano /etc/network/interfaces và để card mạng eth0 ở chế độ automatic ip:
auto eth0
iface eth0 inet dhcp
chạy lệnh sudo /etc/init.d/networking restart để khởi động lại networking service sau khi thay đổi thông số ip. Từ host và guest bạn ping lẫn nhau để đảm bảo guest và host thông nhau.

3. Để guest có thể vào internet được thì ta cần 2 card mạng ở guest. Card mạng eth0 ở chế độ NAT, card eth1 ở chế độ Host-only. Trong guest khi ta chạy lệnh ifconfig chỉ thấy card mạng eth0, nhưng vẫn ping được với host, và vào internet được.  Nhưng ở host ping guest (ping 192.168.56.101) không được, lý do là vì ta vì eth1 chưa có địa chỉ ip, ta cần edit lại /etc/network/interfaces (thêm vào eth1 có cấu hình như của eth0, tức là dhcp). Chú ý sau khi edit ta cần khởi động lại service networking (sudo /etc/init.d/networking restart). Để chắc chắn, ở guest chúng ta chạy lệnh ifconfig -a để xem cấu hình của tất cả các card mạng.
nếu muốn xài ip tĩnh ở eth1 thì thêm những dòng:
auto eth1
iface eth1 inet static
address 192.168.56.104
network 192.168.56.0
broadcast 192.168.56.255
netmask 255.255.255.0
#                  gateway 192.168.56.1

4.  Cài VBoxGuestAdditionsbạn vào Click Devices / CD/DVD Devices / Choose a virtual CD/DVD disk file, chọn file VBoxGuestAdditions.iso có trong /usr/share/virtualbox/, sau đó chạy các lệnh sau:
sudo apt-get install hwinfo
sudo mount /dev/cdrom /media/cdrom
cd /media/cdrom
sudo ./VBoxLinuxAdditions.run
sudo reboot

5. Khi bạn chọn auto mount thư mục shared giữa host và guest, bạn sẽ thấy trong /media có thư mục sf_Share, tuy nhiên nếu bạn dùng lệnh ls /media/sf_Share thì bị báo lỗi permission. bạn phải chạy 2 lệnh sau:
sudo usermod -aG vboxsf group_cua_username_hien_tai
sudo usermod -aG vboxsf www-data

6. Thực hiện các lệnh sau để install drupal lên server:
wget  http://ftp.drupal.org/files/projects/drupal-7.22.tar.gz
tar xfvz drupal-7.22.tar.gz
sudo mv drupal-7.22/ /var/www/
cd /var/www/drupal-7.22
cp sites/default/default.settings.php sites/default/settings.php
chmod a+w sites/default/settings.php
chmod a+w sites/default

mysql -u root -p
CREATE DATABASE drupal;
CREATE USER druser@localhost;
SET PASSWORD FOR druser@localhost= PASSWORD(“drupass”);
GRANT ALL PRIVILEGES ON drupal.* TO druser@localhost IDENTIFIED BY ‘drupass’;
FLUSH PRIVILEGES;
exit

sudo apt-get install php5-gd

7. Đổi tên server
thay vì ở host ta phải đánh địa chỉ 192.168.56.102 dài, ta có thể thay đổi tên thành server.com ngắn gọn hơn. Để làm điều này ở host (và ở guest nếu cần) ta thêm dòng 192.168.56.102 server.com vào /etc/hosts

8. Cài đặt
ở host ta nhập địa chỉ server.com/drupal-7.22 và bắt đầu cài đặt drupal. Chú ý database là drupal, user name mysql là druser, pass mysql là drupass. Khi cài các bạn nhớ user và pass của drupal (admin user của drupal) để đăng nhập lần sau 🙂

9. SSH
các bạn vào đây đọc, rất hay, quá đầy đủ cho một newbie (http://support.suso.com/supki/SSH_Tutorial_for_Linux)
có 2 lệnh chủ yếu là:
ssh-keygen -t dsa
và scp ~/.ssh/id_dsa.pub username@arvo.suso.org:.ssh/authorized_keys
ssh-copy-id user@host