저는 myhosting.com의 VPS 서비스를 이용하고 있습니다.


OS는 CentOS를 사용하고 있는데, WordPress를 쓰려다보니 PHP Version이 너무 낮아 쓸 수 없는 문제가 있었습니다.

이를 해결하는 방법을 여기저기 찾다가 최종적으로 다음과 같이 하면 되는 것을 알아 냈습니다.


다음의 스크립트를 실행하여 Atomic GPG키를 다운로드하고 

# wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh


yes냐 no냐고 물어보면 yes라고 답하고 다음의 커맨드를 실행합니다.


# yum --enablerepo=atomic update mysql* --skip-broken


그리고 PHP 버젼을 확인하시면 버젼이 upgrade 된 것을 확인하실 수 있습니다.

# php -v

쉘 상에서 crontab -e 명령을 합니다.

그러면 vi 편집기의 인터페이스가 열리면서 예약할 작업들을 적어넣을 수 있습니다.

각 항목은 스페이스로 구분되며 시간 단위는 분단위까지 가능합니다.


항목 및 사용법은 다음과 같습니다.

분(minute) 시(hour) 일(day_of_month) 월(month) weekday(요일) command(명령)


필드에서 사용하는 값들의 범위는 다음과 같습니다.

분(minute) : 0-59

시(hour) : 0-23

일(day_of_month) : 1-31

월(month) : 1-12

요일(weekday) : 0-6 (일요일~토요일)

명령(command) : 쉘 명령


예를 들어서 백업하는 명령어를 /home/root 에 backup 이라는 이름으로 스크립트를 만들었다고 하고 매주 일요일에 백업을 하려면

00 00 * * 0 /home/root/backup

과 같은 식으로 해주시면 됩니다.


매주 월요일과 매달 15일에 백업을 하려면

00 00 15 * 1 /home/root/backup

과 같이 해주시고,


매주 월요일과 매달 1일, 15일에 백업을 하려면

00 00 1,15 * 1 /home/root/backup

과 같이 해주시면 됩니다. 스페이스 없이 콤마(,)로 날짜를 구분했음에 유의하세요.


*는 와일드 카드로... "모든"이라는 의미를 가지고 있다는 것은 아실 겁니다.

즉, 위의 세가지 예제들은 모두 0시 0분을 기준으로 백업을 하게 된다는 것입니다.

앞에서 cron의 사용법으로 많이 나왔던

00 06 * * * /home/root/backup

과 같은 경우는 모든 요일, 모든 월, 모든 날, 매주 06시 00분에 백업을 행한다는 의미입니다.

[출처] 간단한 cron 사용법 |작성자 막걸리

이번에 Windows Machine에서 잘 돌던 PHP 프로그램을 CentOS로 옮겼습니다.

다른 건 다 정상 동작하는데, 어떤 프로그램이 동작 안하는 것이 있어서 이것 저것 시도해보았습니다.

원인은 php.ini에서 설정을 변경함으로써 가능하다는 것을 확인하였습니다.

우선 get이나 post를 통해 파라메터를 전달했는데, 이것을 php로 구현한 Software에서 인지하지 못하는 경우 php.ini에서 아래의 설정을 변경해주세요.

위치는 '/etc/php.ini’입니다.

register_globals = On

register_long_arrays = On

register_argc_argv = On

원래 위의 설정은 Production Mode에서는 별로 추천하지 않는 설정이라고 합니다. 속도를 개선하고자 한다면 위의 Mode를 Off해도 동작할 수 있도록 서버 소프트웨어를 구현하는 것이 좋습니다.

CentOS에서 phpMyAdmin을 쓰시는 분 중 mcrypt 확장 모듈 호출이 안되시는 분들이 계실겁니다.

아마 에러메세지는 다음과 같이 나올 것입니다.

이런 경우 다음과 같이 간편하게 mcrypt를 사용하게 만들 수 있습니다.

 

PHP에서 사용하는 것을 전제로 설명드리면, 아래의 명령어를 커맨드 라인에서 실행해주시면 됩니다.

# yum install php-mcrypt

 

위의 명령어를 실행하니 제 CentOS에서는 다음과 같은 메시지가 나오네요. 중간에 y버튼과 엔터키를 눌러주는 수고를 해주셔야 합니다.

Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.steadfast.net
* extras: mirrors.lga7.us.voxel.net
* updates: mirrors.lga7.us.voxel.net
base                                                     | 1.1 kB     00:00
extras                                                   | 2.1 kB     00:00
updates                                                  | 1.9 kB     00:00
Setting up Install Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package php-mcrypt.x86_64 0:5.1.6-15.el5.centos.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package          Arch         Version                       Repository    Size
================================================================================
Installing:
php-mcrypt       x86_64       5.1.6-15.el5.centos.1         extras        16 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 16 k
Is this ok [y/N]: y
Downloading Packages:
php-mcrypt-5.1.6-15.el5.centos.1.x86_64.rpm              |  16 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-mcrypt                                               1/1

Installed:
  php-mcrypt.x86_64 0:5.1.6-15.el5.centos.1

Complete!


혹시 라이브러리만 설치하고 싶은 분은 다음의 모듈만 설치하셔도 됩니다.

# yum install libmcrypt 


 

설치 후 다음의 명령어를 실행해주셔야 반영됩니다. 물론 root 권한이 있으셔야 된다는 점 잊지 마시고요.

# /etc/init.d/httpd restart

저는 myhosting.com에서 CentOS VPS를 개설하여 쓰는 중입니다.

기본으로 설치된 Plesk를 쓰려니 유료 라이센스를 사야 해서 그냥 phpmyadmin을 쓰고 싶은 생각이 들더군요.

그런데 다음과 같은 에러가 나면서 MySQL의 직접 접속이 불가능함을 확인하였습니다.

 

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


위와 같은 에러가 지속 발생하여 혹시 비밀번호를 넣으면 달라질까 싶어 시도했는데, 에러 메세지만 살짝 달라질 뿐 도움이 되지 않았습니다.

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

 

저는 이 문제를 다음과 같이 해결하였습니다.

 

# /etc/init.d/mysqld stop
# mysqld_safe --skip-grant &
# mysql
  > use mysql;
  > update user set password=password('newpassword') where user='root';
  > flush privileges;

  위의 것이 잘 안될 경우는 다음과 같이 새로운 id를 추가하여 해결

  > insert into
     user(Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,Alter_routine_priv,Create_user_priv,ssl_type,ssl_cipher,x509_issuer,x509_subject,max_questions,max_updates,max_connections,max_user_connections)
     values('%','<id>',password('<비밀번호>'),'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
  > flush privileges;
  > exit

누군가에게도 도움이 되는 답이었으면 좋겠군요.

다음과 같이 해줍니다.

vi /etc/ssh/sshd_config

Port 22 ==> Port 2222
# PermitRootLogin no (root 직접 로그인 막기)

/etc/rc.d/init.d/sshd restart

터미널에 다음 명령어를 실행하여 한글관련 소프트웨어를 설치하세요.

 

yum groupinstall korean-support -x xrog-x11-server-Xorg

 

그리고 vi editor를 이용하여 /etc/sysconfig/i18n 파일을 열어 다음과 같이 수정합니다.

    LANG="ko_KR.eucKR"
    SUPPORTED="ko_KR.eucKR:en_US.UTF-8:en_US:en:ko_KR.UTF-8:ko_KR:ko" 
    SYSFONT="latarcyrheb-sun16"

 

마지막으로 다음의 커맨드를 실행합니다.

source /etc/sysconfig/i18n

+ Recent posts