Hướng dẫn cài đặt Alfresco 3.4.d trên Fedora 15 Trong bài viết này chúng tôi sẽ hướng dẫn các bạn cách cài đặt và thiết lập Alfresco Content Server Community Edition bởi “Alfresco Soft
Trang 1Hướng dẫn cài đặt Alfresco 3.4.d trên Fedora
15 Trong bài viết này chúng tôi sẽ hướng dẫn các bạn cách cài đặt và thiết lập
Alfresco Content Server Community Edition bởi “Alfresco Software inc.”
trên máy chủ Fedora 15, từ một gói WAR trên máy chủ Tomcat với cơ sở dữ
liệu postgreSQL Đối với các distribution khác có thể có những thay đổi nhỏ
trong thủ tục cài đặt phần mềm
Alfresco là gì?
Alfresco là hệ thống quản lý nội dung mã nguồn mở hoàn toàn tương thích với
giao thức SharePoint, cung cấp khả năng quản lý nội dung tài liệu, hợp tác, hồ sơ
quản lý, kiến thức chung, quản trị nội dung web và hình ảnh
Trang 2Có hai phiên bản Alfresco, bản thương mại Enterprise edition bao gồm sự hỗ trợ thương mại của các nhà phát triển; và bản miễn phí Community edition, chỉ được
hỗ trợ duy nhất từ các bài viết trên Internet bởi các thành viên có kinh nghiệm
Liên kết chi tiết về sản phẩm:
Trang chủ: http://www.alfresco.com/
Diễn đàn: http://forums.alfresco.com/en/
Tài liệu hướng dẫn: http://docs.alfresco.com/3.4/index.jsp
Trang hỗ trợ: http://support.alfresco.com/
Một số lưu ý
Trong bài hướng dẫn này chúng ta sử dụng trình cài đặt Fedora 15 DVD
Hostname: alfresco.example.com
IP address: 192.168.1.100
Router address: 192.168.1.1
Netmask: 255.255.255.0
First system user (không phải root): alfadmin
Máy chủ được kết nối mạng Internet
Chúng tôi sử dụng máy tính để quản trị máy chủ từ xa thông qua SSH (putty trên Windows) và dùng Nano làm trình soạn thảo văn bản chính
Yêu cầu
Chúng ta cần một bản cài đặt sạch của Fedora 15, phiên bản x86 hay x86_64 đều không quan trọng, và trong bài này chúng tôi khuyến cáo các bạn sử dụng x86_64 Nếu bạn không thiết lập địa chỉ IP tĩnh trong quá trình cài đặt, hãy kích hoạt
DHCP trên router Nếu không chuyển sang bước tiếp theo
Đăng nhập vào giao diện điều khiển máy chủ như là root:
Trang 3system-config-network
Thực hiện những thay đổi cần thiết cho cả hai bộ điều khiển và DNS, lưu lại và thoát Sau đó khởi động lại mạng:
/etc/init.d/network restart
Kiểm tra cấu hình mạng:
ifconfig
Bây giờ bạn có thể cho SSH vào máy chủ trên IP 192.168.1.100 như là root
Nhưng trước hết hãy hoàn thành các bước sau đây:
Bảo vệ máy chủ
Do máy chủ được kết nối Internet nên việc đầu tiên cần làm là đảm bảo an toàn cho nó Sau đây là ba việc cần làm:
Cấu hình lại SSH-server không cho phép root đăng nhập và thay đổi cổng mặc định 22 thành những cái khác ít phổ biến hơn như 60606
Thiết lập iptables để cho phép các kết nối gửi đến cổng mới
Thêm user để đăng nhập thông qua SSH
Bảo mật đăng nhập từ xa
Nếu bạn chưa đăng nhập từ giao diện điều khiển tới máy chủ, hãy đăng nhập như
là root sau đó thực hiện:
nano /etc/ssh/sshd_config
Trên dòng thứ 12 của tập tin mặc định không thay đổi, tại cổng 22 nhân đôi nó rồi đổi thành 60606 và bỏ dấu chú thích
Sau đó tìm đến PermitRootLogin yes, nhân đôi lần nữa và thay đổi giá trị thành no
và bỏ dấu chú thích Lưu lại và khởi động lại sshd:
service sshd restart
Trang 4Thiết lập iptables
Đầu tiên cần kiểm tra iptables hiện có:
iptables -L -v line-numbers
Theo cài đặt mặc định, vị trí '4' sẽ được chỉ thị để chấp nhận các kết nối TCP mới
trên cổng ssh mặc định Chúng ta cần loại bỏ nó:
iptables -D INPUT 4
Bây giờ chúng ta cần cho phép các kết nối tới cổng 60606:
iptables -I INPUT 4 -p tcp dport 60606 -j ACCEPT Cuối cùng là lưu lại trạng thái iptables
service iptables save
service iptables restart
Thêm user đầu tiên
Do chúng ta đã tự ngăn cấm mình từ ssh, root không được phép và không có người dùng khác trong hệ thống Vì vậy cần chạy lệnh sau:
useradd -c "Alfresco system user" -m -n alfadmin
Thiết lập mật khẩu cho user:
passwd alfadmin
Bạn có thể thiết lập mật khẩu cho user trong dòng lệnh đầu tiên, nhưng theo cách
đó giá trị mật khẩu sẽ hiển thị trong cửa sổ terminal và cũng có thể được lưu trong .bash_history của root Đây là điều không được khuyến cáo
Bây giờ bạn có thể đăng nhập thông qua ssh bằng cách thực thi dòng lệnh dưới đây trong cửa sổ terminal của máy local:
ssh alfadmin@192.168.1.100 -p60606
Cài đặt máy chủ Alfresco
Trang 51 Các phần mềm đầu tiên
Cài đặt phần mềm trong hầu hết các trường hợp đều khá đơn giản và chúng ta có thể 'checked' hầu hết chúng trong lần cài đặt ban đầu Tuy nhiên ở đây chúng ta muốn có quyền kiểm soát tối đa trên hệ thống
Logging as superuser
Để có được quyền root ta làm thực hiện:
su
Bây giờ chúng ta sẽ tạo thư mục Downloads trong root:
mkdir /root/Downloads && cd /root/Downloads
Java Runtime Environment
Theo mặc định Open-jdk có sẵn trong Fedora, trong trường hợp này chúng tôi sử dụng java của SUN:
wget -O -
http://download.oracle.com/otn-pub/java/jdk/6u27-b07/jre-6u27-linux-x64-rpm.bin > sunjava.bin
chmod +x sunjava.bin
./sunjava.bin
/usr/sbin/alternatives install /usr/bin/java java /usr/java/default/bin/java 20000
ImageMagick
Thực thi lệnh sau:
yum install ImageMagick
Yum sẽ cài đặt toàn bộ những thứ cần thiết trong gói cho chính nó, vì vậy bạn không phải bận tâm về việc thiết sót nào cả
OpenOffice
Trang 6Libreoffice là sự lựa chọn mặc định trong Fedora 15 bạn có thể cài đặt nó bằng lệnh sau:
yum install libreoffice-calc libreoffice-draw
libreoffice-graphicfilter libreoffice-impress
math writer
libreoffice-xsltfilter
Flash plugin
Vì plugin này không phải là một phần trong gói cài đặt nên chúng ta cần tải về và cài Gói x64 đang trong giai đoạn phát triển do đó chúng ta sẽ tiến hành trên cả phiên bản 32-bit và 64-bit
wget
http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
rpm -vhi adobe-release-i386-1.0-1.noarch.rpm
rpm import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux yum install flash-plugin nspluginwrapper.x86_64
nspluginwrapper.i686 alsa-plugins-pulseaudio.i686
libcurl.i686
SWFTools
Đây là những tiện ích để thao tác với mã nguồn mở flash Chúng ta cần cài đặt
chúng chủ yếu là cho tính năng PDF2SWF Chúng cần được biên dịch, vì vậy
trước tiên chúng ta sẽ cài đặt các gói devel, tải về mã nguồn SWFTools và sau đó biên dịch
yum install zlib-devel libjpeg-devel giflib-devel
freetype-devel gcc gcc-c++ make
wget http://www.swftools.org/swftools-0.9.1.tar.gz tar xvzf swftools-0.9.1.tar.gz
cd swftools-0.9.1
Trang 7./configure
make && make install
cd /
2 Backend và webserver
PostgreSQL
Theo mặc định Alfresco đi kèm với MySQLnhưng hỗ trợ tốt cho PostgreSQL Để cài đặt, khởi tạo và thiết lập để bắt đầu khởi động ta chạy lệnh sau:
yum install postgresql libs
postgresql-server
service postgresql initdb
service postgresql start
chkconfig postgresql on
Đăng nhập vào postgres như người dùng hê thống, tạo database người dùng và gán quyền:
su - -c "psql" postgres
CREATE USER alfrescouser WITH PASSWORD 'alfrescopass'; CREATE DATABASE alfrescodb OWNER alfrescouser ENCODING 'UTF8';
GRANT ALL PRIVILEGES ON DATABASE alfrescodb TO
alfrescouser;
\q
Thay đổi cấu hình tập tin postgre để cho phép đăng nhập bằng mật khẩu:
nano /var/lib/pgsql/data/pg_hba.conf
Tìm kiếm dòng
# IPv4 local connections:
host all all 127.0.0.1/32 ident
Trang 8Và thay thế bằng
# IPv4 local connections:
host all all 127.0.0.1/32 password
Bây giờ khởi động lại database
service postgresql restart
Tomcat webserver
Cài đặt, thiết lập để bắt đầu khởi động, sau đó dừng nó lại:
yum install tomcat6 tomcat-native
service tomcat6 start
chkconfig tomcat6 on
service tomcat6 stop
Chuẩn bị cấu trúc đường dẫn cho Alfresco:
mkdir -p /var/lib/tomcat6/shared/classes
mkdir -p /var/lib/tomcat6/shared/lib
mkdir -p /srv/www/alfresco/alf_data
Sao chép driver postgresql jdbc:
wget http://jdbc.postgresql.org/download/postgresql-9.0-801.jdbc4.jar
cp ~/Downloads/postgresql-9.0-801.jdbc4.jar
/var/lib/tomcat6/shared/lib/
Thay đổi cấu hình tomcat:
nano /etc/tomcat6/tomcat6.conf
Tìm kiếm cho hai mục sau:
JAVA_HOME=
JAVA_OPTS=
Trang 9Và thay thế bằng:
JAVA_HOME="/usr/bin/java"
JAVA_OPTS="${JAVA_OPTS} XX:MaxPermSize=512m Xms128m Xmx768m -Dalfresco.home=/srv/www/alfresco -Dcom.sun.management.jmxremote"
Tiếp theo, ở tập tin thứ hai:
nano /etc/tomcat6/catalina.properties
Tìm kiếm dòng:
shared.loader=
Và thay thế bằng:
shared.loader=${catalina.home}/shared/classes,${catalina.home}/shared/lib/*.jar ,/var/lib/tomcat6/shared/classes,/var/lib/tomcat6/shared/lib/
Tìm tiếp tập tin thứ 3:
nano /etc/tomcat6/server.xml
Tìm kiếm dòng:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443">
Và thay thế bằng:
<Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8"
connectionTimeout="20000"
redirectPort="8443">
Alfresco WAR package
Tải về và giải nén kho lưu trữ Alfresco community:
Trang 10wget http://dl.alfresco.com/release/community/build-3370/alfresco-community-3.4.d.zip
unzip -d alfresco alfresco-community-3.4.d.zip
Sao chéo các file giải nén này vào thư mục tương ứng:
cp -r ~/Downloads/alfresco/web-server/shared
/var/lib/tomcat6
cp -r ~/Downloads/alfresco/web-server/webapps
/var/lib/tomcat6
cp -r ~/Downloads/alfresco/bin /var/lib/tomcat6/bin
cp -r ~/Downloads/alfresco/licenses
/var/lib/tomcat6/licenses
cp -r ~/Downloads/alfresco/README.txt
/var/lib/tomcat6/README.txt
cp
/var/lib/tomcat6/shared/classes/alfresco/web-extension/share-config-custom.xml.sample
/var/lib/tomcat6/shared/classes/alfresco/web-extension/share-config-custom.xml
Khởi tạo gán thuộc tính cho tập tin alfresco-global:
nano /var/lib/tomcat6/shared/classes/alfresco-global.properties
Paste vào đoạn thuộc tính sau:
###############################
## Common Alfresco Properties #
###############################
dir.root=/srv/www/alfresco/alf_data
web.application.context.url=http://127.0.0.1:8080/alfresco
### database connection properties ###
db.driver=org.postgresql.Driver
Trang 11db.url=jdbc:postgresql://localhost:5432/alfrescodb
db.username=alfrescouser
db.password=alfrescopass
### External executable locations ###
ooo.exe=/usr/lib64/libreoffice/program/
ooo.enabled=true
img.exe=/usr/bin/convert
swf.exe=/usr/local/bin/pdf2swf
jodconverter.enabled=true
jodconverter.officeHome=/usr/lib64/libreoffice/
jodconverter.portNumbers=8101
### FTP Server Configuration ###
ftp.enabled=true
ftp.port=2221
ftp.ipv6.enabled=false
### RMI service ports ###
alfresco.rmi.services.port=50500
avm.rmi.service.port=0
avmsync.rmi.service.port=0
attribute.rmi.service.port=0
authentication.rmi.service.port=0
repo.rmi.service.port=0
action.rmi.service.port=0
deployment.rmi.service.port=0
Chỉnh sửa tập tin share-config-custom:
nano /var/lib/tomcat6/shared/classes/alfresco/web-extension/share-config-custom.xml
Tìm đến phần
Trang 12<config evaluator="string-compare" condition="Remote">
</config>
Các thông báo được bao quanh bởi thẻ <! comment > Hãy xóa hết những phần
không nằm trong dấu ghi chú này
Sửa lại quyền trên tập tin và thư mục tomcat:
chown -R tomcat:tomcat /var/lib/tomcat6
/srv/www/alfresco
Cuối cùng mở truy cập các cổng trên tường lửa và bạn có thể kết nối tới server: iptables -I INPUT 4 -p tcp dport 8080 -j ACCEPT
iptables -I INPUT 4 -p tcp dport 2221 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp dport 21 -j REDIRECT to-port 2221
service iptables save
service iptables restart
Kiểm tra hoạt động
Sau khi tất cả các bước trên đã thực hiện xong, việc còn lại là chạy máy chủ lần đầu tiên và theo dõi các log-file xuất ra
Trong phần thiết lập này máy chủ cần khoảng 20 phút để khởi động nên bạn hãy kiên trì Tiếp theo chạy lệnh:
service tomcat6 start
Mở http://192.168.1.100:8080/alfresco hoặc http://192.168.1.100:8080/share trên trình duyệt của bạn
Xử lý sự cố
Log file được đặt như sau:
Trang 13/var/log/tomcat6/catalina.out
/usr/share/tomcat6/alfresco.log
Bạn cũng có thể quan tâm tới cài đặt "terminal task manager" và xem trực tiếp
những gì đay xảy ra:
yum install htop
htop