'Apache'에 해당되는 글 3건

  1. 2009/06/06 Apache, MySQL, PostgreSQL, PHP 컴파일 옵션
  2. 2009/03/02 .htaccess 가지고 놀기 (1)
  3. 2008/03/04 Apache/2.0.59 + Tomcat/5.5.26 + mod_jk/1.2.26

Apache, MySQL, PostgreSQL, PHP 컴파일 옵션

내가 주로 사용하는 APM 컴파일 옵션.

가급적이면 옵션을 적게(?) 주려고 노력 하고 있지만 마음같지 않다.

./configure --prefix=/opt/mysql \
--localstatedir=/opt/mysql/data \
--with-unix-socket-path=/tmp/mysql.sock \
--sysconfdir=/etc \
--with-mysqld-user=mysql \
--with-big-tables \
--with-plugins=innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static \
--without-debug \
--enable-assembler \
--with-charset=utf8 \
--with-collation=utf8_general_ci \
--with-extra-charsets=all \
--with-gnu-ld

./configure --prefix=/opt/pgsql --with-ldap --with-libxml --with-openssl --with-gnu-ld

./configure --prefix=/opt/httpd \
--enable-modules=so \
--enable-module=shared \
--enable-mods-shared=all \
--enable-so \
--enable-ssl \
--enable-rewrite \
--enable-rule=SHARED_CORE \
--enable-mods-shared=ssl \
--with-ssl \
--with-mpm=prefork

./configure \
--prefix=/opt/php \
--with-apxs2=/opt/httpd/bin/apxs \
--with-config-file-path=/opt/httpd/conf  \
--with-mysql=/opt/mysql \
--with-pgsql=/opt/pgsql \
--with-pdo-mysql=/opt/mysql \
--with-pdo-pgsql=/opt/pgsql \
--disable-debug \
--enable-bcmath \
--enable-calendar \
--enable-dbase \
--enable-exif \
--enable-force-cgi-redirect \
--enable-ftp \
--enable-gd-native-ttf \
--enable-magic-quotes \
--enable-mbregex \
--enable-mbstring \
--enable-mod-charset \
--enable-sigchild \
--enable-soap \
--enable-sockets \
--enable-wddx \
--enable-zip \
--with-bz2 \
--with-curl \
--with-freetype-dir=/usr \
--with-gd \
--with-gdbm=/usr \
--with-gettext \
--with-iconv  \
--with-imap \
--with-imap-ssl  \
--with-jpeg-dir=/usr \
--with-kerberos  \
--with-ldap \
--with-libexpat-dir \
--with-libxml-dir \
--with-mcrypt \
--with-openssl \
--without-sqlite \
--with-png-dir=/usr \
--with-snmp \
--with-ttf \
--with-xmlrpc \
--with-zlib \
저작자 표시
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0

.htaccess 가지고 놀기

웹호스팅을 받을 경우,
아파치 설정을 직접 수정할 수 없어 불편한점이 이만저만이 아니다.
이것들을, 완벽하게는 못하지만 어느정도 htaccess를 가지고 해결할 수 있다.
자 그럼 시작.!


들어가기에 앞서, httpd.conf 에서 해당 경로에 Directory 지시자로,
AllowOverride All을 설정해주어야 한다.
AllowOverride가 All 이 아닐경우 몇가지 설정을 변경하는데 제약사항이 있다.


1. 먼저 Application Type 추가 해주기.

AddType application/x-httpd-php .php ..htm .html .shtml .inc .do
2. DirectoryIndex 바꿔주기.

DirectoryIndex index.do index.html index.php index.shtml index.htm Default.htm Default.html
3. 웹사이트 기본 Charset 바꿔주기.

AddDefaultCharset UTF-8

4. 오류 페이지 바꿔주기

ErrorDocument 400 http://error.umttumt.org/400.html
ErrorDocument 401 http://error.umttumt.org/401.html
ErrorDocument 403 http://error.umttumt.org/403.html
ErrorDocument 404 http://error.umttumt.org/404.html
ErrorDocument 500 http://error.umttumt.org/500.html
5, ServerSignature 바꾸고, ServerAdmin 메일주소 바꾸기.

ServerSignature Off
# 또는 ServerSignature EMail
SetEnv SERVER_ADMIN webmaster@umttumt.org
# 기본은 httpd.conf 에 설정되어있다.
6. blog.umttumt.org로 접속했을때, www.umttumt.org/blog를 보여주고 blog.umttumt.org가 실제 주소인것처럼 보이도록 하기.

RewriteEngine On
RewriteBase /
RewriteCond $1 !^(blog)/
RewriteCond %{HTTP_HOST} ^blog\.umttumt\.org [NC]
RewriteRule ^(.*)$ /blog/$1 [L]
7. wiki.umttumt.org로 접속했을때 www.umttumt.org/wiki를 보여주고 wiki.umttumt.org가 실제 주소인것처럼 보이도록 하기.

RewriteCond $1 !^(wiki)/
RewriteCond %{HTTP_HOST} ^wiki\.umttumt\.org [NC]
RewriteRule ^(.*)$ /wiki/$1 [L]
# 이 설정은 위 6번 에서 RewriteEngine와 RewriteBase를 설정 해줬기 때문에 해당 지시자들을 건너뛴다.
8. naver.umttumt.org로 접속했을때 www.naver.com으로 완전히 URL을 이동시키기.

RewriteCond %{http_host} ^naver\.umttumt\.org [NC]
RewriteRule ^(.*)$ http://www.naver.com/$1 [R=301,NC]
# 이 설정도 위  6번에서 RewriteEngine을 On으로 했기때문에 해당 지시자를 건더 뛴다.
9. 실존하지 않는 IP주소로 부터 요청이 왔을때 403 보여주기, 봇 차단하기, 검색엔진을 통한 유입 차단하기.

SetEnvIfNoCase remote_addr 10.0 bad_request
SetEnvIfNoCase remote_addr 127.0 bad_request
SetEnvIfNoCase remote_addr 172.16 bad_request
SetEnvIfNoCase remote_addr 172.17 bad_request
SetEnvIfNoCase remote_addr 172.18 bad_request
SetEnvIfNoCase remote_addr 172.19 bad_request
SetEnvIfNoCase remote_addr 172.20 bad_request
SetEnvIfNoCase remote_addr 172.21 bad_request
SetEnvIfNoCase remote_addr 172.22 bad_request
SetEnvIfNoCase remote_addr 172.23 bad_request
SetEnvIfNoCase remote_addr 172.24 bad_request
SetEnvIfNoCase remote_addr 172.25 bad_request
SetEnvIfNoCase remote_addr 172.26 bad_request
SetEnvIfNoCase remote_addr 172.27 bad_request
SetEnvIfNoCase remote_addr 172.28 bad_request
SetEnvIfNoCase remote_addr 172.29 bad_request
SetEnvIfNoCase remote_addr 172.30 bad_request
SetEnvIfNoCase remote_addr 172.31 bad_request
SetEnvIfNoCase remote_addr 192.168 bad_request
SetEnvIfNoCase remote_addr 169.254 bad_request

SetEnvIfNoCase Referer "blog" bad_request
SetEnvIfNoCase Referer "google" bad_request
SetEnvIfNoCase Referer "tistory" bad_request
SetEnvIfNoCase Referer "naver" bad_request
SetEnvIfNoCase Referer "daum" bad_request
SetEnvIfNoCase Referer "yahoo" bad_request

SetEnvIfNoCase User-Agent "Allblog.net RssSync4 (I Love Bluecat)" bad_request
SetEnvIfNoCase User-Agent "MHzXFyder[OPENBLOG]" bad_request
SetEnvIfNoCase User-Agent "UniversalFeedParser" bad_request
SetEnvIfNoCase User-Agent "^Wget" bad_request
SetEnvIfNoCase User-Agent "^Webzip" bad_request
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_request
SetEnvIfNoCase User-Agent "^EmailWolf" bad_request
SetEnvIfNoCase User-Agent "^BPImageWalker" bad_request

Deny from env=bad_request
10. Nimda 웜 차단하기.

Redirect /scripts http://error.umttumt.org
Redirect /MSADC http://error.umttumt.org
Redirect /c http://error.umttumt.org
Redirect /d http://error.umttumt.org
Redirect /_mem_bin http://error.umttumt.org
Redirect /msadc http://error.umttumt.org
RedirectMatch (.*)\cmd.exe$ http://error.umttumt.org
11. 외부링크 차단하기. (트래픽 감소효과)

SetEnvIFNoCase Referer "umttumt.org" pass

<FilesMatch ".(gif|jpg|png|bmp|zip|tar|rar|alz|a00|ace|jpg|jpeg|txt|GIF|JPG|BMP|ZIP|TAR|RAR|ALZ|A00|ACE|TXT|mp3|MP3|mpeg|MPEG|wav|WAV|asf|ASF|wmv|WMV|swf|SWF|exe|EXE)$">
    Order deny,allow
    deny from all
    allow from env=pass
</FilesMatch>

SetEnvIf Cookie link=ok true
<FilesMatch ".(mid|asf|wma|wmv|mp3|ogg|wav|mpg|mpeg|avi|zip|rar|pdf|exe)$">
    Order Deny,Allow
    Allow from env=true
    Deny from all
</FilesMatch>

이정도?



저작자 표시
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 1

Apache/2.0.59 + Tomcat/5.5.26 + mod_jk/1.2.26

Apache/2.0.59 + Tomcat/5.5.26 + mod_jk/1.2.26

재미있는 조합이다.

나같은 경우 환경이 좀 이상하게 쓴다.

터미널은 euckr

apache php mysql은 UTF-8

tomcat은 기본이 iso-8859-1 인데 이건 손을 못댄다.

어쨋든.

잘된다.
이올린에 북마크하기(0) 이올린에 추천하기(0)
크리에이티브 커먼즈 라이선스
Creative Commons License
Trackback 0 Comment 0
prev 1 next