|
[edit]
1 ¼Ò°³ #Alfresco(http://www.alfresco.com)´Â ¿£ÅÍÇÁ¶óÀÌÁî ±ÞÀÇ ÄÜÅÙÃ÷ °ü¸® ½Ã½ºÅÛ(Content Management System, CMS)ÀÌ´Ù. ÀÌ ¹®¼¿¡¼´Â 2008³â 4¿ù 4ÀÏÀÚ Sid¿¡¼ WAR ÆÄÀÏÀ» ÀÌ¿ëÇÑ Alfresco Community¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. º» ¹®¼¿¡¼´Â ÀÚ¹Ù ¼ºí¸´ ÄÁÅ×À̳ʷδ TomcatÀ», DBMS·Î´Â MySQLÀ» »ç¿ëÇÑ´Ù.
¾Æ·¡ÀÇ ÆÐŰÁö°¡ ÄÄÇ»ÅÍ¿¡ ¼³Ä¡µÇ¾î ÀÖ¾îÀÖ°í, Á¤»óÀûÀ¸·Î ÀÛµ¿ÇÑ´Ù´Â °¡Á¤ ÇÏ¿¡ ´ÙÀ½ °úÁ¤À» ÁøÇàÇÑ´Ù.
tomcat5.5
apache2 sun-java6-jre openoffice.org php5-common mysql-server
MySQLÀÇ ÇÑ±Û ¼³Á¤À» À§Çؼ, ±âº» ÀÎÄÚµùÀ» UTF8À¸·Î ¼³Á¤ÇÑ´Ù. µ¥ÀÌÅͺ£À̽º¿¡ EUC-KR·Î ÀÎÄÚµùµÈ µ¥ÀÌÅͰ¡ ¾øÀ» °æ¿ì, ´ÙÀ½°ú °°ÀÌ /etc/mysql/my.cnf ÆÄÀÏÀÇ ´ÙÀ½ ºÎºÐÀ» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÏ¿©, MySQLÀÇ ±âº» ÀÎÄÚµùÀ» UTF8À¸·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
[client] default-character-set=utf8 [mysqld] init_connect=SET collation_connection = utf8_general_ci init_connect=SET NAMES utf8 default-character-set=utf8 character-set-server=utf8 collation-server=utf8_general_ci [mysql] default-character-set=utf8 # /etc/init.d/mysql restart
5.5.25-5 ¹öÀüÀÇ tomcat5.5 ÆÐŰÁö´Â tomcat5.5-webapps ÆÐŰÁöÀÇ /usr/share/tomcat5.5-webapps/ ¾Æ·¡¿¡ À§Ä¡ÇÑ ¿¹Á¦ ÆÄÀϵ鿡 ´ëÇØ ÀûÀýÇÑ ±ÇÇÑ ¼³Á¤ÀÌ µÇ¾î ÀÖÁö ¾Ê´Ù. Alfresco ¼³Ä¡¿Í´Â »ó°ü¾øÁö¸¸, TomcatÀÇ ·Î±×ÆÄÀÏ ºÐ¼® ½Ã¿¡ ¾î·Á¿òÀ» ÁֹǷΠÀ̸¦ ÇØ°áÇØ ÁÖ´Â °ÍÀÌ ÁÁ´Ù. /etc/tomcat5.5/policy.d/ ¾Æ·¡ÀÇ 04webapps.policy ÆÄÀÏ¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.io.FilePermission "/usr/share/tomcat5.5-webapps/jsp-examples/WEB-INF/classes/logging.properties", "read"; permission java.io.FilePermission "/usr/share/tomcat5.5-webapps/servlets-examples/WEB-INF/classes/logging.properties", "read"; };
Alfresco´Â JVMÀÇ Èü ÃÖ´ë Å©±â¸¦ 512Mb ÀÌ»ó ÀâÀ» °ÍÀ» ±ÇÀåÇÑ´Ù. ½Ã½ºÅÛÀÇ ¸Þ¸ð¸®°¡ ÃæºÐÇÒ °æ¿ì, /etc/default/tomcat5.5¿¡ ´ÙÀ½À» Ãß°¡ÇÑ´Ù.
JAVA_OPTS="-Xmx512M"
Alfresco´Â ¸¹Àº ¿ÀǼҽº ÇÁ·Î±×·¥À» »ç¿ëÇÑ´Ù. ´ÙÀ½°ú °°ÀÌ ÇÊ¿äÇÑ ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ´Ù.
# apt-get install sun-java6-jdk liblucene-java liblog4j1.2-java libhibernate3-java imagemagick libmysql-javalibmysql-java ÆÐŰÁöÀÇ mysql-connector-java.jar ¾ÆÄ«À̺긦 TomcatÀÇ libs µð·ºÅ͸®·Î ¸µÅ©¸¦ °É¾îÁØ´Ù. # cd /usr/share/tomcat5.5/common/lib/ # ln -s ../../../java/mysql-connector-java.jar ./ # ln -s ../../../java/mysql-connector-java-5.1.5.jar ./
Alfresco Community´Â SourceForge.net(http://sourceforge.net/project/showfiles.php?group_id=143373&package_id=157460&release_id=524558)¿¡¼ ¹ÞÀ» ¼ö ÀÖ´Ù. ¿©±â¼´Â 2008³â 4¿ù 4ÀÏ ÇöÀç ¾ÈÁ¤¹öÀüÀÎ alfresco-community-war-2.1.0.tar.gz¸¦ ³»·Á ¹Þ¾Ò´Ù. ÀÌÈÄ, /opt/alfresco¿¡ ¾ÐÃàÀ» Ǭ´Ù.
# mkdir -p /opt/alfresco # tar xvfz ./alfresco-community-war-2.1.0.tar.gz -C/opt/alfrescoAlfresco¿¡¼ Á¦°øÇÏ´Â SQL ½ºÅ©¸³Æ®¸¦ ÀÌ¿ëÇÏ¿© MySQL µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÑ´Ù. # tar xvfz ./alfresco-c # mysql -u root -p < /opt/alfresco/extras/databases/mysql/db_setup.sqlµ¥ÀÌÅͺ£À̽º °èÁ¤ÀÇ ¾ÏÈ£¸¦ ¼³Á¤ÇÑ´Ù.
$ mysql -u root -p
mysql> use mysql;
mysql> update user set password = password('<your Alfresco database user password>') where user = 'alfresco';
mysql> flush privileges;
ÀÌÁ¦ Alfresco ÀúÀå¼Ò·Î »ç¿ëÇÒ µð·ºÅ͸®¸¦ ¸¸µé°í, ¼ÒÀ¯±ÇÀ» Á¶Á¤ÇÑ´Ù.
# mkdir -p /var/lib/alfresco/{alf_data,tmp}
# chown -R tomcat55:nogroup /var/lib/alfresco/
Alfresco Community WAR ÆÄÀÏÀ» TomcatÀÇ À¥ ¾îÇø®ÄÉÀÌ¼Ç µð·ºÅ͸®·Î º¹»çÇÑ´Ù.# cp /opt/alfresco/alfresco.war /var/lib/tomcat5.5/webapps/ # chown tomcat55:nogroup /var/lib/tomcat5.5/webapps/alfresco.warTomcat ¼¹ö°¡ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϰí ÀÖ´Ù¸é, /var/lib/tomcat5.5/webapps/alfresco µð·ºÅ͸®°¡ »ý¼ºµÇ¾î ÀÖ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. # ls -ld /var/lib/tomcat5.5/webapps/alfresco»ý¼ºµÈ µð·ºÅ͸®¸¦ º¼ ¼ö ÀÖ´Ù¸é, /var/lib/tomcat5.5/webapps/alfresco/¿¡ ÀÖ´Â WEB-INF/classes/alfresco/repository.properties ÆÄÀÏÀÇ ´ÙÀ½ ºÎºÐÀ» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù. <your Alfresco database user name>¿¡´Â MySQL °èÁ¤ÀÎ alfresco¸¦ ³Ö¾îÁÖ°í, <your Alfresco database user password>¿¡´Â À§¿¡¼ ¼³Á¤ÇÑ ¾ÏÈ£¸¦ ³Ö¾îÁØ´Ù. dir.root=/var/lib/alfresco/alf_data ¡¦ db.schema.update=true db.driver=org.gjt.mm.mysql.Driver db.name=alfresco db.url=jdbc:mysql://localhost/${db.name}?useUnicode=true&characterEncoding=utf-8 db.username=<your Alfresco database user name> db.password=<your Alfresco database user password> db.pool.initial=10 db.pool.max=20
log4j.appender.File.File=/var/log/tomcat5.5/alfresco.log
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { permission java.io.FilePermission "/var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/logging.properties", "read"; }; grant codeBase "file:${catalina.home}/webapps/alfresco/-" { permission java.security.AllPermission; }; # /etc/init.d/tomcat5.5 restartÀá½Ã ±â´Ù¸° ÈÄ, À¥ ºê¶ó¿ìÀúÀÇ ÁÖ¼ÒÄ¿¡ http://localhost:8180/alfresco¸¦ ÀÔ·ÂÇϸé AlfrescoÀÇ ½ÃÀÛ ÆäÀÌÁö¸¦ º¼ ¼ö ÀÖ´Ù. User Name¿¡ "admin", Password¿¡ "admin"À» ÀÔ·ÂÇÏ¸é °ü¸®ÀÚ °èÁ¤À¸·Î ·Î±×ÀÎ ÇÒ ¼ö ÀÖ´Ù. ½ÃÀÛ ÆäÀÌÁö¸¦ º¼ ¼ö ¾øÀ» °æ¿ì, /var/log/tomcat5.5¿¡ ÀÖ´Â catalina.<date>.log¿Í alfresco.log¸¦ ºÐ¼®ÇÏ¿© ¹®Á¦¸¦ ÇØ°áÇÑ´Ù.
´ÙÀ½°ú °°ÀÌ Alfresco È®Àå ±â´ÉÀ» ¼³Ä¡ÇÑ´Ù. ±âº» ¸Þ½ÃÁö¸¦ ¿µ¾î·Î À¯ÁöÇϱâ À§Çؼ, Áߺ¹µÈ ÆÄÀÏÀº µ¤¾î¾²Áö ¾Êµµ·Ï ÁÖÀÇÇÑ´Ù.
# cd /var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco # cp -Riv /opt/alfresco/extensions/extension/* ./extension/ # chown -R tomcat55:nogroup ./extension/ # cp -Riv /opt/alfresco/extensions/messages/* ./messages/ # chown -R tomcat55:nogroup ./messages//var/lib/tomcat5.5/webapps/alfresco/ ¾Æ·¡ÀÇ WEB-INF/classes/alfresco/extension/custom-hibernate-dialect.propertiesÀÇ ´ÙÀ½ ºÎºÐÀ» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÏ¿©, MySQL µå¶óÀ̹ö¸¦ Ȱ¼ºÈ ½ÃŰ°í ´Ù¸¥ °ÍµéÀº ºñȰ¼ºÈ ÇÑ´Ù. # # HSQL dialect # #hibernate.dialect=org.hibernate.dialect.HSQLDialect # # MySQL dialect (default) # hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect # # HSQL connection # #db.driver=org.hsqldb.jdbcDriver #db.url=jdbc:hsqldb:file:alf_data/hsql_data/alfresco;ifexists=true;shutdown=true; # # MySQL connection (This is default and requires mysql-connector-java-5.0.3-bin.jar, which ships with the Alfresco server) # db.driver=org.gjt.mm.mysql.Driver db.url=jdbc:mysql://localhost/${db.name}?useUnicode=true&characterEncoding=utf-8 # cd /var/lib/tomcat5.5/webapps/alfresco/WEB-INF/classes/alfresco/extension/ # cp -iv web-client-config-custom.xml.sample web-client-config-custom.xmlÀÌÁ¦ TomcatÀ» Àç½ÃÀÛ ÇÑ´Ù. # /etc/init.d/tomcat5.5 restart [edit]
6 OpenOffice.org #OpenOffice.org ¼ºñ½º ¸Å´ÏÀú¸¦ °¡»ó X ¼¹ö À§¿¡ ¶ç¾î ³õÀ¸¸é, À̸¦ ÅëÇØ Alfresco¿¡¼ ¹®¼ º¯È¯ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. ¿ì¼± ÇÊ¿äÇÑ ÆÐŰÁö¸¦ ¼³Ä¡ÇÑ´Ù.# apt-get install xvfb openoffice.orgºÎÆÃ ½Ã¿¡ ÇÊ¿äÇÑ ¼ºñ½º°¡ ½ÇÇàµÇµµ·Ï ½ºÅ©¸³Æ®¸¦ ¸¸µç´Ù. ¸ÕÀú, /etc/init.d/¿¡ ´ÙÀ½ ³»¿ë°ú °°ÀÌ xvfb.sh ÆÄÀÏÀ» ¸¸µç´Ù.
/usr/bin/Xvfb :1 -screen 1 1024x768x24 -fbdir /usr/src &
/usr/bin/soffice "-accept=socket,host=localhost,port=8100;urp;StarOffice.ServiceManager" -nologo -headless -display :1 &
# chmod +x /etc/init.d/{xvfb,office}.sh
# update-rc.d xvfb.sh start 99 2 3 4 5 . stop 99 0 1 6 .
# update-rc.d office.sh start 99 2 3 4 5 . stop 99 0 1 6 .
[edit]
7 Apache2 #
Apache2ÀÇ ¼ºñ½º Æ÷Æ®¸¦ ÀÌ¿ëÇØ¼ Alfresco¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÑ´Ù. Áï, http://localhost:8180/alfresco ´ë½Å¿¡
http://localhost/alfresco·Î URLÀ» º¯°æÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ¸ÕÀú, ³»ºÎ ÇÁ·Ï½Ã ¸ðµâÀ» Ȱ¼ºÈÇÑ´Ù.# cd /etc/apache2/mods-enabled/ # ln -s ../mods-available/proxy.* ./ # ln -s ../mods-available/proxy_http.load ./µðÆúÆ® ¼³Á¤Àº ¸ðµç ÇÁ·Ï½Ã Á¢±ÙÀÌ ¸·ÇôÀÖÀ¸¹Ç·Î, /etc/apache2/mods-enabled/¿¡ ÀÖ´Â proxy.confÀ» ¾Æ·¡¿Í °°ÀÌ ¼öÁ¤ÇÑ´Ù. <IfModule mod_proxy.c> ProxyRequests Off <Proxy http://localhost> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyVia On </IfModule> ProxyPass /alfresco http://localhost:8180/alfresco ProxyPassReverse /alfresco http://localhost:8180/alfresco [edit]
8 ³×Æ®¿öÅ© Á¢¼Ó #
/var/lib/tomcat5.5/webapps/alfresco/¿¡ ÀÖ´Â WEB-INF/classes/alfresco/{file-server,web-client-config}.xml°ú WEB-INF/classes/alfresco/extension/file-servers-custom.xmlÀ» º¸¸é 8080 Æ÷Æ®¸¦ »ç¿ëÇϵµ·Ï µÇ¾îÀÖ´Â °÷ÀÌ ÀÖ´Ù. À̸¦ ¸ðµÎ ã¾Æ¼, 8180 Æ÷Æ®·Î °íÃÄÁØ´Ù.
Tomcat¿¡¼ ±¸µ¿µÇ´Â ÀÚ¹Ù ¾îÇø®ÄÉÀ̼ÇÀº tomcat55 »ç¿ëÀÚ ±ÇÇÑÀ¸·Î ½ÇÇàÇÏ°Ô µÈ´Ù. ÀÌ·² °æ¿ì, ÀÏ¹Ý À¯ÀúÀÎ tomcat55´Â 1024¹ø ÀÌÇÏÀÇ Æ÷Æ®¹øÈ£¸¦ ¿¼ö ¾ø´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù. À̸¦ ÇØ°áÇϱâ À§Çؼ °¢ ÆÄÀϼ¹ö¿¡¼ 1024¹ø À§ÀÇ Æ÷Æ®¸¦ ¿°í, ¹æÈº®À» ÀÌ¿ëÇØ¼ ÇØ´ç ¼ºñ½ºÀÇ ¿äûÀÌ µé¾î¿Ã °æ¿ì, ¿ì¸®°¡ ¿¾îÁØ Æ÷Æ®·Î Æ÷¿öµå ½ÃŰ¸é µÈ´Ù.
[edit]
8.1 CIFS ¼¹ö #
WEB-INF/classes/alfresco/file-server.xmlÀÇ CIFS Server ¼³Á¤ ºÎºÐÀ» ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. ÄÄÇ»ÅͰ¡ ¼ÓÇØÀÖ´Â µµ¸ÞÀÎÀÌ ÀÖÀ» °æ¿ì, <your domain> ºÎºÐ¿¡ µµ¸ÞÀÎÀ» Àû¾îÁØ´Ù. non-privileged Æ÷Æ®¸¦ »ç¿ëÇϱâ À§ÇÑ Æ÷Æ® ¼³Á¤ºÎºÐµµ ¾Æ·¡¸¦ Âü°íÇÏ¿© ¼öÁ¤ÇÑ´Ù.
... <config evaluator="string-compare" condition="CIFS Server"> <serverEnable enabled="true"/> <host name="${localname}_A" domain="<your domain>"/> <comment>Alfresco CIFS Server</comment> <!-- Set to the broadcast mask for the subnet --> <broadcast>255.255.255.255</broadcast> <!-- Use Java socket based NetBIOS over TCP/IP and native SMB on linux --> <tcpipSMB platforms="linux,solaris,macosx"/> <netBIOSSMB platforms="linux,solaris,macosx"/> <!-- Can be mapped to non-privileged ports, then use firewall rules to forward requests from the standard ports --> <tcpipSMB port="1445" platforms="linux,solaris,macosx"/> <netBIOSSMB sessionPort="1139" namePort="1137" datagramPort="1138" platforms="linux,solaris,macosx"/> ...
´ÙÀ½ ¸í·ÉÀ¸·Î ¹æÈº® ¼³Á¤À» ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸, ÀÌµé ¸í·É¾î´Â ±âÁ¸ÀÇ ¹æÈº®°ú NAT ±ÔÄ¢À» ¸ðµÎ Áö¿ö¹ö¸®¹Ç·Î ÁÖÀÇÇϵµ·Ï ÇÑ´Ù.
# echo 1 > /proc/sys/net/ipv4/ip_forward # modprobe iptable_nat # iptables -F # iptables -t nat -F # iptables -P INPUT ACCEPT # iptables -P FORWARD ACCEPT # iptables -P OUTPUT ACCEPT # iptables -t nat -A PREROUTING -p tcp --dport 445 -j REDIRECT --to-ports 1445 # iptables -t nat -A PREROUTING -p tcp --dport 139 -j REDIRECT --to-ports 1139 # iptables -t nat -A PREROUTING -p udp --dport 137 -j REDIRECT --to-ports 1137 # iptables -t nat -A PREROUTING -p udp --dport 138 -j REDIRECT --to-ports 1138 µ¥Å©½ºÅ¾À¸·Î MS À©µµ¿ìÁ »ç¿ëÇÑ´Ù¸é, AlfrescoÀÇ °èÁ¤À̸§°ú ¾ÏÈ£¸¦, À©µµ¿ìÁîÀÇ °èÁ¤Á¤º¸¿Í ¸ÂÃß¸é º°µµÀÇ ·Î±×ÀÎ °úÁ¤ ¾øÀÌ Á¢¼ÓÇÒ ¼ö ÀÖ¾î¼ Æí¸®ÇÏ´Ù.
WebDAV´Â 80 Æ÷Æ®¸¦ »ç¿ëÇϹǷÎ, Æ÷Æ®¹øÈ£¿¡ °üÇÑ º°µµÀÇ ¼³Á¤À» ÇÒ Çʿ䰡 ¾ø´Ù.
AlfrescoÀÇ °èÁ¤À̸§À» Çѱ۷Π¸¸µé¾úÀ» °æ¿ì, WebDAV Á¢¼ÓÀ» ÇÒ ¼ö ¾ø´Â ¹®Á¦°¡ ÀÖÀ¸¹Ç·Î Âü°íÇϱ⠹ٶõ´Ù. |