<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iPUNKID &#187; Apache</title>
	<atom:link href="http://blog.punkid.org/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.punkid.org</link>
	<description>To ∞ and Beyond</description>
	<lastBuildDate>Sun, 29 Jan 2012 13:02:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Gentoo 使用笔记 Part 4</title>
		<link>http://blog.punkid.org/2007/04/10/gentoo-notes-part-4/</link>
		<comments>http://blog.punkid.org/2007/04/10/gentoo-notes-part-4/#comments</comments>
		<pubDate>Tue, 10 Apr 2007 13:37:52 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[LAMPP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpMyAdmin]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/2007/04/10/gentoo-notes-part-4/</guid>
		<description><![CDATA[往期回顾: Gentoo 使用笔记 Part 1 Gentoo 使用笔记 Part 2 Gentoo 使用笔记 Part 3 在Gentoo下打造LAMPP 最终还是选择了自己编译LAMPP平台，放弃了已整合好的XAMPP For Linux，执行效率和启动速度有了很大的提高。 安装LAMPP 添加以下use到 /etc/portage/package.use 中 net-www/apache apache2 dev-lang/php apache2 bzip2 gd mysql xml xmlrpc zip ctype pcre session unicode #其中php里的有些use不一定是必须的，不过这些use基本上都是常用的或是将来可能会用到的 编译apache和mysql # emerge apache mysql 在编译php前先修改下/etc/conf.d/apache2，加入php5的模块选项 APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5" 然后编译php和phpmyadmin吧 # emerge dev-lang/php phpmyadmin 设置LAMPP Gentoo下的Apache已经设置的很好了，基本上无须修改就能使用了。 在使用MySQL前还需要进行初始化设置，执行#emerge --config [...]]]></description>
			<content:encoded><![CDATA[<h3>往期回顾:</h3>
<ol>
<li><a href="http://pp.punkid.org/2006/09/30/gentoo-notes-part-1/" title="Gentoo 使用笔记 Part 1">Gentoo 使用笔记 Part 1</a></li>
<li><a href="http://pp.punkid.org/2006/09/30/gentoo-notes-part-2/" title="Gentoo 使用笔记 Part 2">Gentoo 使用笔记 Part 2</a></li>
<li><a href="http://pp.punkid.org/2006/10/09/gentoo-notes-part-3/" title="Gentoo 使用笔记 Part 3">Gentoo 使用笔记 Part 3</a></li>
</ol>
<h3>在Gentoo下打造LAMPP</h3>
<p>最终还是选择了自己编译<abbr title="Linux+Apache+MySQL+PHP+phpMyAdmin">LAMPP</abbr>平台，放弃了已整合好的<a href="http://www.apachefriends.org/en/xampp-linux.html" title="XAMPP For Linux">XAMPP For Linux</a>，执行效率和启动速度有了很大的提高。</p>
<h4>安装LAMPP</h4>
<p>添加以下use到 /etc/portage/package.use 中</p>
<pre lang="bash">
net-www/apache apache2
dev-lang/php apache2 bzip2 gd mysql xml xmlrpc zip ctype pcre session unicode
#其中php里的有些use不一定是必须的，不过这些use基本上都是常用的或是将来可能会用到的
</pre>
<p><span id="more-56"></span><br />
编译apache和mysql</p>
<pre lang="bash">
# emerge apache mysql
</pre>
<p>在编译php前先修改下/etc/conf.d/apache2，加入php5的模块选项</p>
<pre lang="bash">
APACHE2_OPTS="-D DEFAULT_VHOST -D PHP5"
</pre>
<p>然后编译php和phpmyadmin吧</p>
<pre lang="bash">
# emerge dev-lang/php phpmyadmin
</pre>
<h4>设置LAMPP</h4>
<p>Gentoo下的Apache已经设置的很好了，基本上无须修改就能使用了。</p>
<p>在使用MySQL前还需要进行初始化设置，执行<code>#emerge --config mysql</code>进行设置，然后启动MySQL，进行安全设置:</p>
<pre lang="bash">
# /etc/init.d/mysql start
# mysql_secure_installation
</pre>
<p>设置phpMyAdmin:</p>
<pre lang="bash">
# mysql -u root -p< /usr/share/webapps/phpmyadmin/2.10.0.2/sqlscripts/mysql/2.10.0.2_create.sql
# mkdir /var/www/localhost/htdocs/phpmyadmin/config
# chmod o+rw /var/www/localhost/htdocs/phpmyadmin/config
# cp /var/www/localhost/htdocs/phpmyadmin/config.sample.inc.php /var/www/localhost/htdocs/phpmyadmin/config/config.inc.php
# chown -R apache:apache /var/www/localhost/htdocs/phpmyadmin/config
</pre>
<p>OK,启动Apache和MySQL试试看，看看能不能进入phpMyAdmin进行数据库操作，你也可以建立一个内容为&lt;?php phpinfo() ?&gt;的php文件来查看apache是否正常启用了php。</p>
<h4>小技巧</h4>
<p>我实在不喜欢那个/var/www/localhost/htdocs的目录，操作起来太不方便，我也不愿意去修改httpd.conf文件。我的做法是在/home目录下新建个web文件夹，设置owner为自己的普通日常用户，然后做个链接到htdocs目录里就是了。</p>
<pre lang="bash">
# mkdir /home/web
# chown -R punkid:apache /home/web
/*我选择把wordpress什么的都放到这个web目录下了，并设置所有者为apache组和个人用户*/
# chmod ug+rw -R /home/web
/*给予apache组和个人用户读写权限*/
</pre>
<p>然后切换到htdocs文件夹下做几个链接进来吧</p>
<pre lang="bash">
# cd /var/www/localhost/htdocs
# ln -sf /home/web/wordpress wp
# ln -sf /home/web/drupal drupal
</pre>
<p>这样我输入<code>http://localhost/wp</code>时就可以访问/home/web/wordpress下的wp blog了，同理<code>http://localhost/drupal</code>则进入了/home/web/drupal的目录操作</p>
<p>顺带把win下的几个音乐，电影资源文件夹也链接进来以便给我的朋友们下载</p>
<pre lang="bash">
# ln -sf /mnt/win_f/Audio Audio
# ln -sf /mnt/win_f/Movie Movie
</pre>
<p>如果你不想别人从外部访问的话，在你不希望别人访问的文件夹下建立个<code>.htaccess</code>的隐藏文件，输入以下内容:</p>
<pre lang="apache">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</pre>
<p>如果你不愿意把apache和MySQL都加入开机启动程序，而又嫌分别输入<code>/etc/init.d/apache start</code>和 <code>/etc/init.d/mysql start</code>麻烦的话，可以在/etc/init.d/下建立一个lampp启动脚本。你在该目录下输入<code>vi lampp</code>会自动帮你填补好脚本框架的，我的脚本是这样的(有点粗糙，不过能用:D )</p>
<pre lang="bash">
#!/sbin/runscript
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

depend() {
    need net
}

svc_start() {
    ebegin "Starting LAMPP"
    /etc/init.d/apache2 start &#038;&#038; /etc/init.d/mysql start
    eend ${?} "Failed to start LAMPP"
}

svc_stop() {
    ebegin "Stopping LAMPP"
    /etc/init.d/apache2 stop &#038;&#038; /etc/init.d/mysql stop
    eend ${?} "Failed to stop LAMPP"
}

svc_restart() {
    ebegin "Restarting LAMPP"
    /etc/init.d/apache2 restart &#038;&#038; /etc/init.d/mysql restart
    eend ${?} "Failed to restart LAMPP"
}
</pre>
<p>执行<code>/etc/init.d/lampp start</code>,<code>/etc/init.d/lampp stop</code>,<code>/etc/init.d/lampp restart</code>即可启用，停用以及重新启动apache和MySQL。</p>
<p>另外，我自己用python写了个小程序，用来监视apache的访问记录的。你可以copy以下代码到任意.py文件中，加入执行权限( <code>chmod +x logmonitor.py</code> )就可以运行了</p>
<pre lang="python">
#!/usr/bin/python
import os,time

today = time.strftime('%d/%b/%Y') #specify the date format
log_path = '/usr/lib/apache2/logs/access_log' #如果你更改了apache log存放路径设置的话，请更改此处地址
logline = os.popen("cat %s | grep '%s' | wc -l" %(log_path,today)).read()
showlog = "tail -f -n 20 %s | grep '%s'" %(log_path,today)

if logline.startswith('0'):
   print 'no activies recently' #如果当天没有活动记录，则不显示
else:
   os.system(showlog)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2007/04/10/gentoo-notes-part-4/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

