아파치 AH00558 워닝 해결



# httpd -t 로 configtest 를 하면 아래 처럼 에러 메시지가 나오는 경우가 있다.


[root@conoha conf.d]# httpd -t

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::1:85ff:fe82:65e8. Set the 'ServerName' directive globally to suppress this message

Syntax OK


에러까지는 아니라서 아파치 구동에는 문제가 없다.


하지만 찜찜하다면 에러가 안나오도록 수정해주자.


# vi /etc/httpd/conf/httpd.conf 에서 아래 부분을 찾아서 자신의 도메인주소를 넣고 저장


#ServerName www.example.com:80

ServerName www.mydomain.com:80


# apachectl restart



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x 아파치 재시작 명령어



7.x 버전에서 아파치 재시작 명령어가 바뀌었다.


# service httpd reload ( apachectl graceful )

# service httpd restart ( apachectl restart )


위 명령어가 아래 처럼 바뀌었다.


# systemctl reload httpd.service

# systemctl restart httpd.service



모듈관련 설정이 아닌 VirtualHost 추가와 같은 경우는 apachectl graceful 로 재시작을 해주면 된다.


참고로 restart 옵션은 종료 후 재시작이고, reload 는 진행중인 프로세스는 종료될 때까지 기다렸다가 재시작 해준다.



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 deflate 압축기능 활성화 상태에서 php ob_start 속도 테스트



MySQL 데이터를 100개 행을 출력하는 PHP 소스에서 테스트를 진행하였습니다.


테스트는 시작과 끝에 아래의 코드를 사용

<?$_st=microtime(true);?>

<?$_et=microtime(true);printf("loading time : %0.4f",($_et - $_st));?>


<?$_st=microtime(true);ob_start();?>

<?ob_end_flush();$_et=microtime(true);printf("loading time : %0.4f",($_et - $_st));?>


<?$_st=microtime(true);ob_start("ob_gzhandler");?>

<?ob_end_flush();$_et=microtime(true);printf("loading time : %0.4f",($_et - $_st));?>


1. 그냥 속도

loading time : 0.0081


2. ob_start 사용 속도

loading time : 0.0084


3. ob_start("ob_gzhandler") 압축 사용 속도

loading time : 0.0105


테스트한 결과 오히려 속도가 느려지는 결과가 나왔습니다.


아파치 deflate 기능이 활성화 상태에서는 ob_start 함수 사용은 의미가 없다는 아니 오히려 더 느려진다는 결론입니다.



참고로 아파치 deflate 설정은 아래와 같습니다.

<IfModule mod_deflate.c>

        AddOutputFilterByType DEFLATE text/plain

        AddOutputFilterByType DEFLATE text/html

        AddOutputFilterByType DEFLATE text/xml

        AddOutputFilterByType DEFLATE text/css

        AddOutputFilterByType DEFLATE text/javascript

        AddOutputFilterByType DEFLATE image/svg+xml

        AddOutputFilterByType DEFLATE image/x-icon

        AddOutputFilterByType DEFLATE application/xml

        AddOutputFilterByType DEFLATE application/xhtml+xml

        AddOutputFilterByType DEFLATE application/rss+xml

        AddOutputFilterByType DEFLATE application/javascript

        AddOutputFilterByType DEFLATE application/x-javascript


        DeflateCompressionLevel 1


        BrowserMatch ^Mozilla/4 gzip-only-text/html

        BrowserMatch ^Mozilla/4\.0[678] no-gzip

        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

        BrowserMatch \bOpera !no-gzip

</IfModule>


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

MySQL MySQLTuner script

LINUX 2016. 8. 18. 12:50

MySQL MySQLTuner script



MySQL 튜닝 스크립트입니다.

설치한 다음에 실행만 하면 됩니다.


# yum -y install mysqltuner


[root@conoha-jp ~]# mysqltuner

Please enter your MySQL administrative login: root

Please enter your MySQL administrative password:  >>  MySQLTuner 1.6.0 - Major Hayden <major@mhtx.net>

 >>  Bug reports, feature requests, and downloads at http://mysqltuner.com/

 >>  Run with '--help' for additional options and output filtering

[--] Skipped version check for MySQLTuner script

[OK] Currently running supported MySQL version 5.5.50-MariaDB

[OK] Operating on 64-bit architecture


-------- Storage Engine Statistics -------------------------------------------

[--] Status: +ARCHIVE +Aria +BLACKHOLE +CSV +FEDERATED +InnoDB +MRG_MYISAM

[!!] InnoDB is enabled but isn't being used

[OK] Total fragmented tables: 0


-------- Security Recommendations  -------------------------------------------

[OK] There is no anonymous account in all database users

[OK] All database users have passwords assigned

[!!] There is not basic password file list !


-------- Performance Metrics -------------------------------------------------

[--] Up for: 2m 17s (58 q [0.423 qps], 16 conn, TX: 32K, RX: 2K)

[--] Reads / Writes: 75% / 25%

[--] Binary logging is disabled

[--] Total buffers: 416.0M global + 2.8M per thread (151 max threads)

[OK] Maximum reached memory usage: 418.8M (42.17% of installed RAM)

[OK] Maximum possible memory usage: 836.0M (84.19% of installed RAM)

[OK] Slow queries: 0% (0/58)

[OK] Highest usage of available connections: 0% (1/151)

[!!] Aborted connections: 18.75%  (3/16)

[!!] Query cache is disabled

[OK] Temporary tables created on disk: 0% (0 on disk / 4 total)

[!!] Thread cache is disabled

[OK] Table cache hit rate: 178% (41 open / 23 opened)

[OK] Open file limit used: 4% (51/1K)

[OK] Table locks acquired immediately: 100% (43 immediate / 43 locks)


-------- MyISAM Metrics -----------------------------------------------------

[!!] Key buffer used: 18.2% (24M used / 134M cache)

[OK] Key buffer size / total MyISAM indexes: 128.0M/99.0K

[!!] Read Key buffer hit rate: 83.3% (6 cached / 1 reads)


-------- InnoDB Metrics -----------------------------------------------------

[--] InnoDB is disabled.

[!!] InnoDB Storage engine is disabled. InnoDB is the default storage engine


-------- AriaDB Metrics -----------------------------------------------------

[--] AriaDB is disabled.


-------- Replication Metrics -------------------------------------------------

[--] No replication slave(s) for this server.

[--] This is a standalone server..


-------- Recommendations -----------------------------------------------------

General recommendations:

    Add skip-innodb to MySQL configuration to disable InnoDB

    MySQL started within last 24 hours - recommendations may be inaccurate

    Enable the slow query log to troubleshoot bad queries

    Reduce or eliminate unclosed connections and network issues

    Set thread_cache_size to 4 as a starting value

Variables to adjust:

    query_cache_size (>= 8M)

    thread_cache_size (start at 4)


테스트 한 서버는 DB를 사용하지 않고 있어서 나온 결과값입니다.


단순 참고용으로만 보세요~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

리눅스 스팸 메일 발신 서버가 되지 않기



CentOS 7.x 버전을 설치하고 아파치 설정을 보면 mod_proxy 가 기본적으로 모듈이 동작하는 것으로 되어 있을 것이다.


이런 경우에 자신도 모르게 HTTP CONNECT 을 이용한 스팸 메일 발신지가 될지도 모를 일이다.


아래의 방법으로 막아 보자.



▶ mod_proxy 관련 아파치 모듈 주석 처리 방법


vi /etc/httpd/conf.modules.d/00-proxy.conf ( 6.x 버전은 /etc/httpd/conf/httpd.conf 파일 )

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_express_module modules/mod_proxy_express.so

#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so

#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so


위의 모듈을 주석처리하면 된다.

그리고 아파치를 재시작 하여야 한다.

# systemctl restart httpd



▶ CONNECT 막는 방법


vi /etc/httpd/conf.d/disabled_connect.conf 아래 내용 추가

<Location />

<Limit CONNECT>

Order deny,allow

Deny from all

</Limit>

</Location>


위 내용을 추가한 뒤에 아파치를 재시작 하면 된다.

# systemctl restart httpd



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

Logwatch Connection attempts using mod_proxy



로그와치 리포트에 아래와 같은 내용이 나오면 아파치 설정에서 mod_proxy 설정을 확인 하자.


 Connection attempts using mod_proxy:

    111.248.xxx.xxx -> 163mx03.mxmail.netease.com:25: 1 Time(s)



▶ httpd.conf 아파치 모듈 주석 처리 방법


#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so


위의 모듈을 주석처리하면 된다.

그리고 아파치를 재시작 하여야 한다.



▶ httpd.conf CONNECT 막는 방법


<Location />

<Limit CONNECT>

Order deny,allow

Deny from all

</Limit>

</Location>


위 내용을 추가한 뒤에 아파치를 재시작 하면 된다.



위의 방법으로 처리 한 뒤의 로그는 아래 처럼 나온다.


mx-tw.mail.gm0.yahoodns.net 220.132.81.117 - - [05/Aug/2016:09:30:10 +0900] "CONNECT mx-tw.mail.gm0.yahoodns.net:25 HTTP/1.0" 200 73 "-" "-"

mx-tw.mail.gm0.yahoodns.net 220.132.81.117 - - [05/Aug/2016:09:51:39 +0900] "CONNECT mx-tw.mail.gm0.yahoodns.net:25 HTTP/1.0" 403 4897 "-" "-"


200 코드 값이 403 으로 바뀌었다.



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

dig 로 MX 레코드 설정 확인방법




[root@vps ~]# dig @8.8.8.8 mx example.com


;; QUESTION SECTION:

;example.com.                    IN      MX


;; ANSWER SECTION:

example.com.             3599    IN      MX      10 kr1-aspmx1.worksmobile.com.

example.com.             3599    IN      MX      20 kr1-aspmx2.worksmobile.com.


;; Query time: 130 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Tue Jul 26 14:34:34 2016

;; MSG SIZE  rcvd: 94



위의 방법으로 mx 레코드가 잘 설정이 되었는지 확인할 수가 있다.


dig example.com mx 이렇게 해도 된다.


그리고 A 호스트 확인은


dig example.com a 로 확인할 수 있다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 .htaccess ExpiresActive not allowed here



.htaccess 파일에 ExpiresActive 설정을 하고 홈페이지 하위폴더에 업로드하고 브라우저를 열었을 때


Internal Server Error 에러 메시지가 발생한다면


아파치 설정에서


<Directory /home/*/www>

    AllowOverride FileInfo AuthConfig Limit Indexes

</Directory>


AllowOverride 에 Indexes 를 넣어주고 아파치를 재시작 해주면 된다.


이제는 최상위 디렉토리 뿐만 아니라 하위 디렉토리에서도 .htaccess 설정이 적용이 된다.


/.htaccess
/www/.htaccess
/www/htdocs/.htaccess

/www/htdocs/example/.htaccess



참고로 RewriteEngine 같은 지시어가 먹히게 하는 Directory AllowOverride 옵션은 FileInfo 이며, None 으로 하면 disable 의 의미이다.


RewriteEngine 예제 보러가기 https://ivps.tistory.com/71


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 .htaccess 브라우저 캐시 설정하기



mod_expires 모듈을 이용해서 브라우저 캐시 기능을 사용할 수 있다.


설정한 시간 만큼 만료시간 전이라면 브라우저에 캐시된 파일을 읽기 때문에 서버의 트래픽을 줄일 수 있다.


httpd.conf 파일에 넣어도 되고, VirtualHost 나 .htaccess 파일에 적용할 수도 있다.


    ExpiresActive on

    ExpiresByType text/css                      "access plus 1 year"

    ExpiresByType application/x-javascript      "access plus 1 year"

    ExpiresByType text/html                     "access plus 1 month"

    ExpiresByType text/plain                    "access plus 1 month"

    ExpiresByType image/x-icon                  "access plus 1 month"

    ExpiresByType image/gif                     "access plus 1 month"

    ExpiresByType image/jpeg                    "access plus 1 month"

    ExpiresByType image/png                     "access plus 1 month"

    ExpiresByType audio/mpeg                    "access plus 1 month"

    ExpiresByType audio/ogg                     "access plus 1 month"

    ExpiresByType video/mp4                     "access plus 1 month"

    ExpiresByType video/mpeg                    "access plus 1 month"


본인의 입맛에 맞게 설정해서 적용해 보자.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

GoDaddy 클라우드 서버 개통후기



고대디 클라우드 서버 30일 동안 무료라길래 계정 만들어서 개설시켜 보았습니다.


1CORE / 512MB RAM / 20GB SSD / 1TB Traffic 월 5,900원 상품이고 가상화기술은 KVM입니다.


godaddy 클라우드 서버 30일 무료godaddy 클라우드 서버 30일 무료


첫번째 두번째 빼고는 비싸군요~



GoDaddy 주문을 완료하려면 아래 표시된 문자를 입력하세요.GoDaddy 주문을 완료하려면 아래 표시된 문자를 입력하세요.


캡챠코드가 한글로 나와서 아무리 입력해도 잘못된 문자라고 나와서 다음으로 넘어가지를 않네요.


그래서 메인에서 언어설정으로 미국 English 로 설정하고 진행하였습니다.



이제 넘어가네요~


신용카드 정보 입력하고 다음으로 진행합니다.


휴대폰으로 인증번호를 발송해서 인증절차를 거칩니다.


+82 10 1234 5678 이렇게 번호를 입력하고 Send code 하면 휴대폰으로 인증번호가 문자로 날아옵니다.


인증을 거치면 아래와 같이 성공 메시지가 뜹니다.



이제 서버 개통을 하면 됩니다.



username 은 꼭 입력해야 하는군요.


그런데 root 비밀번호는 어디서 설정하는지 모르겠네요~



이제 서버가 실행되었습니다.


간단한 테스트를 해보겠습니다.


PING Average 234ms


미국이라서 핑속도가 엄청 느립니다.


[godaddy@daddy ~]$ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/vda1        20G  1.3G   19G   7% /

devtmpfs        236M     0  236M   0% /dev

tmpfs           245M     0  245M   0% /dev/shm

tmpfs           245M  4.4M  241M   2% /run

tmpfs           245M     0  245M   0% /sys/fs/cgroup

tmpfs            49M     0   49M   0% /run/user/0

tmpfs            49M     0   49M   0% /run/user/1000


[godaddy@daddy ~]$ cat /etc/centos-release

CentOS Linux release 7.2.1511 (Core)


[godaddy@daddy ~]$ cat /proc/cpuinfo | grep "model name"

model name      : Intel Xeon E312xx (Sandy Bridge)


[godaddy@daddy ~]$ free -m

              total        used        free      shared  buff/cache   available

Mem:            489          44         191           4         253         418

Swap:             0           0           0

[godaddy@daddy ~]$ dd if=/dev/zero of=1GB.tmp bs=100M count=10

10+0 records in

10+0 records out

1048576000 bytes (1.0 GB) copied, 1.91256 s, 548 MB/s


cpu 는 제온 E312xx 라고 나오며 정확하게 표기가 되지 않네요.


나중에 UNIXBENCH 도 한번 돌려봐야겠습니다.


==============


아무리 찾아봐도 root 비밀번호 설정 또는 변경하는 곳을 못 찾겠네요.


init=/sysroot/bin/sh 로 부팅해서 비밀번호를 설정하려고 시도하니깐 먹통화면이고~


도무지 방법을 몰라서 고대디는 여기서 보류입니다.


==============

Update 2016.08.04


그리고 30일 무료라고 되어 있는데 서버를 개설했다가 지우고 새로 만드니깐 과금이 되네요~


이건 주의를 해야겠습니다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,