欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
LiveJournal Server
来自开放百科 - 灰狐
(版本间的差异)
(未显示1个用户的18个中间版本) | |||
第1行: | 第1行: | ||
+ | {{top news}} | ||
+ | |||
LiveJournal is an open source content management system, written mainly in Perl[o]» and utilizing MySQL as a database backend. By itself, it serves as a powerful content updating system. In other uses, it is the framework application behind many successful online communities, including LiveJournal.com and DeadJournal.com. | LiveJournal is an open source content management system, written mainly in Perl[o]» and utilizing MySQL as a database backend. By itself, it serves as a powerful content updating system. In other uses, it is the framework application behind many successful online communities, including LiveJournal.com and DeadJournal.com. | ||
[[LiveJournal on Lighttpd]] | [[LiveJournal on Lighttpd]] | ||
+ | [http://www.slideshare.net/sekimura/oscon-2005-livejournal-backend/ OSCON 2005 LiveJournal Backend] | ||
+ | ==相关项目== | ||
+ | *[[memcached]] | ||
+ | *[[MogileFS]] | ||
+ | *[[Perlbal]] | ||
+ | *[[DJabberd]] | ||
+ | *[[Gearman]] | ||
+ | |||
+ | ==Install== | ||
+ | # apt-get install apache | ||
+ | # apt-get install libapache-mod-perl apache-perl | ||
+ | 新版本的安装 | ||
+ | $ cd $LJHOME // 注意不要以 root 帐号操作 | ||
+ | /lj$ mkdir cvs | ||
+ | /lj$ cd cvs/ | ||
+ | /lj/cvs$ | ||
+ | /lj/cvs$ svn co http://code.sixapart.com/svn/vcv/trunk vcv | ||
+ | /lj/cvs$ svn co http://code.sixapart.com/svn/livejournal/trunk livejournal | ||
+ | $ cd $LJHOME | ||
+ | /lj$ cvs/vcv/bin/vcv --conf=cvs/livejournal/cvs/multicvs.conf --checkout -c -s | ||
+ | Then in the future, to stay updated: | ||
+ | |||
+ | $ bin/cvsreport.pl -u -c -s | ||
+ | |||
+ | (cvsreport.pl is just a front-end to vcv) | ||
+ | $ bin/checkconfig.pl | ||
+ | # apt-get install libclass-accessor-perl libclass-autouse-perl libclass-trigger-perl | ||
+ | libdatetime-perl libdigest-hmac-perl perlmagick libmath-bigint-gmp-perl libnet-dns-perl | ||
+ | libxml-atom-perl libxml-simple-perl | ||
+ | |||
+ | [Checking for Perl Modules....] | ||
+ | Missing optional module Crypt::DH: Required for OpenID support. | ||
+ | Missing optional module URI::Fetch: Required for OpenID support. | ||
+ | OpenID 目前还不知道如何设置 :( | ||
+ | |||
+ | Problem: | ||
+ | * Missing perl module: Unicode::CheckUTF8 | ||
+ | |||
+ | cp doc/ljconfig.pl.txt cgi-bin/ljconfig.pl // 一定要在创建数据库前设定 | ||
+ | |||
+ | $ mysql -uroot -p | ||
+ | mysql> CREATE DATABASE livejournal; | ||
+ | mysql> GRANT ALL PRIVILEGES ON livejournal.* TO lj@'localhost' IDENTIFIED BY 'ljpass'; | ||
+ | mysql > flush privileges; | ||
+ | |||
+ | $ bin/upgrading/update-db.pl --runsql --populate | ||
+ | The system user was created with a random password. | ||
+ | Run $LJHOME/bin/upgrading/make_system.pl to change its password and grant the necessary privileges.# Done. | ||
+ | $ bin/upgrading/make_system.pl | ||
+ | $ bin/upgrading/texttool.pl load // 成功创建 livejournal 数据库 | ||
+ | |||
+ | #vi cgi-bin/ljconfig.pl | ||
+ | $DOMAIN = "debian"; | ||
+ | $SITEROOT = "$DOMAIN"; | ||
+ | #update /etc/apache-perl/httpd.conf | ||
+ | http://docs.huihoo.com/livejournal/server/lj.install.apache_setup.example.html | ||
+ | #crontab -e (同下) | ||
+ | vi /etc/apache-perl/httpd.conf | ||
+ | /etc/init.d/apache-perl start | ||
+ | 不能启动 | ||
+ | 新版本还无法安装成功 :( | ||
+ | ------------------------------------------------------ | ||
+ | 老版本的安装 | ||
+ | LJHOME=/home/lj; export LJHOME | ||
+ | wget http://www.livejournal.org/download/code/ // 版本有些旧,可通过 svn 获得最新版 | ||
+ | svn co http://code.sixapart.com/svn/livejournal/trunk/ // 参照上面新版本的安装 | ||
+ | ./bootstrap.pl | ||
+ | |||
+ | update httpd.conf | ||
+ | ServerType standalone | ||
+ | ServerRoot "/etc/apache-perl" | ||
+ | PidFile /var/run/apache-perl.pid | ||
+ | ScoreBoardFile /var/run/apache-perl.scoreboard | ||
+ | Timeout 30 | ||
+ | KeepAlive Off | ||
+ | |||
+ | MinSpareServers 5 | ||
+ | MaxSpareServers 40 | ||
+ | StartServers 10 | ||
+ | MaxClients 20 | ||
+ | MaxRequestsPerChild 500 | ||
+ | |||
+ | LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so | ||
+ | LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so | ||
+ | LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so | ||
+ | |||
+ | Port 80 | ||
+ | User lj | ||
+ | Group lj | ||
+ | |||
+ | SendBufferSize 131072 | ||
+ | |||
+ | ServerName www.yoursite.com | ||
+ | PerlSetEnv LJHOME /home/lj | ||
+ | PerlRequire /home/lj/cgi-bin/modperl.pl | ||
+ | |||
+ | cp doc/ljconfig.pl.txt cgi-bin/ljconfig.pl | ||
+ | |||
+ | $LJHOME/bin/checkconfig.pl | ||
+ | Required Modules | ||
+ | DBI libdbi-perl | ||
+ | DBD::mysql libdbd-mysql-perl | ||
+ | Digest::MD5 libdigest-md5-perl | ||
+ | Digest::SHA1 libdigest-sha1-perl | ||
+ | Image::Size libimage-size-perl | ||
+ | MIME::Lite libmime-lite-perl | ||
+ | MIME::Words libmime-perl | ||
+ | Compress::Zlib libcompress-zlib-perl | ||
+ | MIME::Base64 libmime-base64-perl | ||
+ | URI::URL liburi-perl | ||
+ | HTML::Tagset libhtml-tagset-perl | ||
+ | HTML::Parser libhtml-parser-perl | ||
+ | LWP::Simple libwww-perl | ||
+ | LWP::UserAgent libwww-perl | ||
+ | GD libgd-perl | ||
+ | Mail::Address libmailtools-perl | ||
+ | Unicode::MapUTF8 libunicode-maputf8-perl | ||
+ | Storable libstorable-perl | ||
+ | Time::HiRes libtime-hires-perl | ||
+ | IO::WrapTie | ||
+ | Use CPAN | ||
+ | # perl -MCPAN -e shell | ||
+ | cpan> install Bundle::CPAN | ||
+ | cpan> reload cpan | ||
+ | cpan> install DBI | ||
+ | cpan> install DBD::mysql | ||
+ | cpan> install Digest::MD5 | ||
+ | cpan> install Digest::SHA1 | ||
+ | cpan> install Image::Size | ||
+ | cpan> install MIME::Lite | ||
+ | cpan> install MIME::Words | ||
+ | cpan> install Compress::Zlib | ||
+ | cpan> install MIME::Base64 | ||
+ | cpan> install URI::URL | ||
+ | cpan> install HTML::Tagset | ||
+ | cpan> install HTML::Parser | ||
+ | cpan> install LWP::Simple | ||
+ | cpan> install LWP::UserAgent | ||
+ | cpan> install GD | ||
+ | cpan> install Mail::Address | ||
+ | cpan> install Unicode::MapUTF8 | ||
+ | cpan> install Storable | ||
+ | cpan> install Time::HiRes | ||
+ | cpan> install IO::WrapTie | ||
+ | |||
+ | cpan> install Net::SMTP | ||
+ | cpan> install GD::Graph | ||
+ | cpan> install Proc::ProcessTable | ||
+ | cpan> install RPC::XML | ||
+ | cpan> install SOAP::Lite | ||
+ | cpan> install XML::RSS | ||
+ | cpan> install String::CRC32 | ||
+ | |||
+ | Debian Install | ||
+ | # apt-get install libdbi-perl libdbd-mysql-perl libdigest-md5-perl \ | ||
+ | libdigest-sha1-perl libimage-size-perl libmime-lite-perl \ | ||
+ | libmime-perl libcompress-zlib-perl libmime-base64-perl \ | ||
+ | liburi-perl libhtml-tagset-perl libhtml-parser-perl \ | ||
+ | libwww-perl libwww-perl libgd-perl \ | ||
+ | libmailtools-perl libunicode-maputf8-perl libstorable-perl \ | ||
+ | libtime-hires-perl | ||
+ | |||
+ | # apt-get install libnet-perl libgd-graph-perl libproc-process-perl \ | ||
+ | librpc-xml-perl libsoap-lite-perl libxml-rss-perl \ | ||
+ | libstring-crc32-perl | ||
+ | |||
+ | $ mysql -uroot -p | ||
+ | mysql> CREATE DATABASE livejournal; | ||
+ | mysql> GRANT ALL PRIVILEGES ON livejournal.* TO lj@'localhost' IDENTIFIED BY 'ljpass'; | ||
+ | mysql > flush privileges; | ||
+ | |||
+ | $ bin/upgrading/update-db.pl --runsql --populate | ||
+ | $ bin/upgrading/texttool.pl load // 成功创建 livejournal 数据库 | ||
+ | |||
+ | crontab -e | ||
+ | LJHOME=/home/lj | ||
+ | |||
+ | |||
+ | # Essential: | ||
+ | * */12 * * * /home/lj/bin/ljmaint.pl clean_caches >/dev/null | ||
+ | |||
+ | # Optional, if you want birthday mail, and the random user feature: | ||
+ | # (you can remove parts) | ||
+ | 5 1 * * * /home/lj/bin/ljmaint.pl bdaymail build_randomuserset >/dev/null | ||
+ | |||
+ | # If you want statistics: | ||
+ | 30 1 * * * /home/lj/bin/ljmaint.pl genstats genstatspics genstats_size >/dev/null | ||
+ | 5 2 * * 0 /home/lj/bin/ljmaint.pl genstats_weekly > /dev/null | ||
+ | |||
+ | # Various tasks | ||
+ | 15 1 * * * /home/lj/bin/ljmaint.pl joinmail > /dev/null | ||
+ | 30 * * * * /home/lj/bin/ljmaint.pl synsuck > /dev/null | ||
+ | 5 2 * * 0 /home/lj/bin/ljmaint.pl memeclean > /dev/null | ||
+ | |||
+ | # If you're running a high-load site with $LJ::BUFFER_QUERIES on, | ||
+ | # there's another one to install: | ||
+ | */5 * * * * /home/lj/bin/qbufferd.pl >/dev/null | ||
+ | |||
+ | apachectl restart | ||
+ | $LJHOME/bin/upgrading/make_system.pl | ||
+ | |||
+ | http://localhost/login.bml | ||
+ | system/system // OK, 安装成功 :) | ||
+ | |||
+ | ==Links== | ||
*http://www.livejournal.com/ | *http://www.livejournal.com/ | ||
+ | *http://www.livejournal.org/ | ||
*http://www.bradfitz.com/ | *http://www.bradfitz.com/ | ||
*http://brad.livejournal.com/ | *http://brad.livejournal.com/ | ||
第9行: | 第217行: | ||
*http://www.sixapart.com/ | *http://www.sixapart.com/ | ||
*http://code.sixapart.com/ | *http://code.sixapart.com/ | ||
+ | |||
+ | [[Category:CMS]] | ||
+ | [[Category:Perl]] |
2010年9月27日 (一) 05:51的最后版本
LiveJournal is an open source content management system, written mainly in Perl[o]» and utilizing MySQL as a database backend. By itself, it serves as a powerful content updating system. In other uses, it is the framework application behind many successful online communities, including LiveJournal.com and DeadJournal.com.
OSCON 2005 LiveJournal Backend
[编辑] 相关项目
[编辑] Install
# apt-get install apache # apt-get install libapache-mod-perl apache-perl
新版本的安装
$ cd $LJHOME // 注意不要以 root 帐号操作 /lj$ mkdir cvs /lj$ cd cvs/ /lj/cvs$ /lj/cvs$ svn co http://code.sixapart.com/svn/vcv/trunk vcv /lj/cvs$ svn co http://code.sixapart.com/svn/livejournal/trunk livejournal $ cd $LJHOME /lj$ cvs/vcv/bin/vcv --conf=cvs/livejournal/cvs/multicvs.conf --checkout -c -s Then in the future, to stay updated: $ bin/cvsreport.pl -u -c -s
(cvsreport.pl is just a front-end to vcv)
$ bin/checkconfig.pl # apt-get install libclass-accessor-perl libclass-autouse-perl libclass-trigger-perl libdatetime-perl libdigest-hmac-perl perlmagick libmath-bigint-gmp-perl libnet-dns-perl libxml-atom-perl libxml-simple-perl [Checking for Perl Modules....] Missing optional module Crypt::DH: Required for OpenID support. Missing optional module URI::Fetch: Required for OpenID support. OpenID 目前还不知道如何设置 :(
Problem:
* Missing perl module: Unicode::CheckUTF8
cp doc/ljconfig.pl.txt cgi-bin/ljconfig.pl // 一定要在创建数据库前设定
$ mysql -uroot -p mysql> CREATE DATABASE livejournal; mysql> GRANT ALL PRIVILEGES ON livejournal.* TO lj@'localhost' IDENTIFIED BY 'ljpass'; mysql > flush privileges;
$ bin/upgrading/update-db.pl --runsql --populate The system user was created with a random password. Run $LJHOME/bin/upgrading/make_system.pl to change its password and grant the necessary privileges.# Done. $ bin/upgrading/make_system.pl $ bin/upgrading/texttool.pl load // 成功创建 livejournal 数据库
#vi cgi-bin/ljconfig.pl $DOMAIN = "debian"; $SITEROOT = "$DOMAIN"; #update /etc/apache-perl/httpd.conf http://docs.huihoo.com/livejournal/server/lj.install.apache_setup.example.html #crontab -e (同下) vi /etc/apache-perl/httpd.conf /etc/init.d/apache-perl start 不能启动 新版本还无法安装成功 :(
老版本的安装
LJHOME=/home/lj; export LJHOME wget http://www.livejournal.org/download/code/ // 版本有些旧,可通过 svn 获得最新版 svn co http://code.sixapart.com/svn/livejournal/trunk/ // 参照上面新版本的安装 ./bootstrap.pl
update httpd.conf
ServerType standalone ServerRoot "/etc/apache-perl" PidFile /var/run/apache-perl.pid ScoreBoardFile /var/run/apache-perl.scoreboard Timeout 30 KeepAlive Off
MinSpareServers 5 MaxSpareServers 40 StartServers 10 MaxClients 20 MaxRequestsPerChild 500
LoadModule mime_module /usr/lib/apache/1.3/mod_mime.so LoadModule autoindex_module /usr/lib/apache/1.3/mod_autoindex.so LoadModule dir_module /usr/lib/apache/1.3/mod_dir.so
Port 80 User lj Group lj
SendBufferSize 131072
ServerName www.yoursite.com PerlSetEnv LJHOME /home/lj PerlRequire /home/lj/cgi-bin/modperl.pl
cp doc/ljconfig.pl.txt cgi-bin/ljconfig.pl $LJHOME/bin/checkconfig.pl
Required Modules
DBI libdbi-perl DBD::mysql libdbd-mysql-perl Digest::MD5 libdigest-md5-perl Digest::SHA1 libdigest-sha1-perl Image::Size libimage-size-perl MIME::Lite libmime-lite-perl MIME::Words libmime-perl Compress::Zlib libcompress-zlib-perl MIME::Base64 libmime-base64-perl URI::URL liburi-perl HTML::Tagset libhtml-tagset-perl HTML::Parser libhtml-parser-perl LWP::Simple libwww-perl LWP::UserAgent libwww-perl GD libgd-perl Mail::Address libmailtools-perl Unicode::MapUTF8 libunicode-maputf8-perl Storable libstorable-perl Time::HiRes libtime-hires-perl IO::WrapTie
Use CPAN
# perl -MCPAN -e shell cpan> install Bundle::CPAN cpan> reload cpan cpan> install DBI cpan> install DBD::mysql cpan> install Digest::MD5 cpan> install Digest::SHA1 cpan> install Image::Size cpan> install MIME::Lite cpan> install MIME::Words cpan> install Compress::Zlib cpan> install MIME::Base64 cpan> install URI::URL cpan> install HTML::Tagset cpan> install HTML::Parser cpan> install LWP::Simple cpan> install LWP::UserAgent cpan> install GD cpan> install Mail::Address cpan> install Unicode::MapUTF8 cpan> install Storable cpan> install Time::HiRes cpan> install IO::WrapTie
cpan> install Net::SMTP cpan> install GD::Graph cpan> install Proc::ProcessTable cpan> install RPC::XML cpan> install SOAP::Lite cpan> install XML::RSS cpan> install String::CRC32
Debian Install
# apt-get install libdbi-perl libdbd-mysql-perl libdigest-md5-perl \ libdigest-sha1-perl libimage-size-perl libmime-lite-perl \ libmime-perl libcompress-zlib-perl libmime-base64-perl \ liburi-perl libhtml-tagset-perl libhtml-parser-perl \ libwww-perl libwww-perl libgd-perl \ libmailtools-perl libunicode-maputf8-perl libstorable-perl \ libtime-hires-perl # apt-get install libnet-perl libgd-graph-perl libproc-process-perl \ librpc-xml-perl libsoap-lite-perl libxml-rss-perl \ libstring-crc32-perl
$ mysql -uroot -p mysql> CREATE DATABASE livejournal; mysql> GRANT ALL PRIVILEGES ON livejournal.* TO lj@'localhost' IDENTIFIED BY 'ljpass'; mysql > flush privileges;
$ bin/upgrading/update-db.pl --runsql --populate $ bin/upgrading/texttool.pl load // 成功创建 livejournal 数据库 crontab -e LJHOME=/home/lj [email protected]
# Essential: * */12 * * * /home/lj/bin/ljmaint.pl clean_caches >/dev/null
# Optional, if you want birthday mail, and the random user feature: # (you can remove parts) 5 1 * * * /home/lj/bin/ljmaint.pl bdaymail build_randomuserset >/dev/null
# If you want statistics: 30 1 * * * /home/lj/bin/ljmaint.pl genstats genstatspics genstats_size >/dev/null 5 2 * * 0 /home/lj/bin/ljmaint.pl genstats_weekly > /dev/null
# Various tasks 15 1 * * * /home/lj/bin/ljmaint.pl joinmail > /dev/null 30 * * * * /home/lj/bin/ljmaint.pl synsuck > /dev/null 5 2 * * 0 /home/lj/bin/ljmaint.pl memeclean > /dev/null
# If you're running a high-load site with $LJ::BUFFER_QUERIES on, # there's another one to install: */5 * * * * /home/lj/bin/qbufferd.pl >/dev/null
apachectl restart $LJHOME/bin/upgrading/make_system.pl http://localhost/login.bml system/system // OK, 安装成功 :)
[编辑] Links
分享您的观点