728x90
반응형

Programming/Technic 11

[Docker Server] 도커 기반의 PHP 웹 서비스 구성

예전에는 PHP를 통해서 웹 서비스를 구성하는 것을 APM이라고 불렀다. Apache + PHP + Mysql의 앞 글자를 따서 이렇게 이름을 불렀던 것이다. 아파치는 굉장히 훌륭한 프로그램이고 기능도 다양하기 때문에 막강한 프로그램이다. 하지만 이렇게 기능이 많다는 얘기는 무겁고 설정이 어렵다는 의미가 되기도 한다. 실제로 아파치의 모든 설정을 다 알기는 쉽지 않다. 아파치는 다른 프로그램과 연동도 다양하기 진행할 수 있고 많은 역할을 할 수 있기 때문에 이에 대한 설정들은 꽤 복잡하고 어렵다. 그래서 그 대항마로 만들어진 것이 nginx라고 할 수 있을 것이다. nginx는 꽤 간단하고 설정도 간편하게 할 수 있지만 그렇다고 성능이 떨어지는 것도 아니였다. 그래서 10년여전부터 php 서비스를 구성할..

Programming/Technic 2023.02.03

[Docker Server]Ubuntu Docker 설치

본 글의 리스트에서는 Docker를 이용해서 PHP 웹 서버를 구축하는 것을 목표로 한다. 해당 글에서 사용하는 릴리즈 버전은 Ubuntu 22.04로 한다. 우선 우리는 서버에 도커를 올리기 위해서 Ubuntu Server에 Docker를 설치하는 것부터 시작할 것이다. 우분투를 설치한 이후에 다음의 명령어를 통해서 설치된 패키지들을 최신화한다. sudo apt update sudo apt upgrade 위의 명령어는 도커를 설치하는 것과는 별개의 명령어로 단순히 패키지를 업그레이드 하기 위한 명령어이다. 도커 정식 홈페이지에서는 우분투에 도커를 설치하는 방법을 다음에 4가지로 소개하고 있다. 리눅스용 Docker Desktop을 통한 설치 우분투 패키지 매니저 apt를 이용한 설치 dpkg를 이용한 ..

Programming/Technic 2023.01.24

postfix 접속 서버 설정

ubuntu 12.04에 postifx를 설치하여 사용중이다. postifx 와 관련된 기타 설정들은 구글을 찾아보면 아주 잘 나와있는 관계로 여기서는 한 가지 사항에 대해서만 정리한다. postfix 서버에 접속하여 메일을 보내기 위해서는 접속 권한을 필요로 한다. 이를 위해서는 다음의 항목을 설정하여야 한다. mynetworks 이 항목은 기본값으로 127.0.0.1을 갖는다. 즉, localhost에서만 접속이 가능하다는 의미이다. 이 항목에 접속하고자 하는 서버의 IP를 추가하면 된다. mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 172.31.0.100 이와 같이 네트워크 값을 설정하면 해당 서버에서 postfix로 접속하여 메일을 발송..

Programming/Technic 2014.09.01

How to execute node.js from crontab in ubuntu

이전 버전까지는 crontab에 등록하여서 정상적으로 사용하던 코드가 node.js의 버전업을 한 이후에 비정상 작동하는 것을 확인하였다. crontab에 정상적으로 등록되었고 /var/log/syslog에 확인하여도 실행은 되는 것으로 보이나 결과는 정상적으로 이루어지지 않는 현상이다.(내 경우에는 메일을 발송하는 script인데 메일 발송이 전혀 이루어지지 않았다.) script를 쉘에서 실행하면 정상 작동하므로 script 문제는 아니였고 crontab에도 정상적으로 등록되었으므로 crontab 문제도 아니였다. 추정해보자니 crontab 에서 실행하면서 환경변수쪽에서 뭔가 문제가 있는 것이 아닌가 싶은데. 심지어 에러로그 조차 발생하지 않으니 확인할 방법이 없다. 그래서 crontab에 등록하여서..

Programming/Technic 2014.07.04

Cent OS 4를 이용한 RedHat Linux 배포판 만들기 - 1(수정)

# 본문 내용은 Cent OS 4.2의 CD 이미지를 가지고 나에게 맞는 RedHat 기반의 Linux로 다시 패키징하는 작업니다. # 본문의 내용은 바로 긁어서 붙인 후에 쉘 스크립트로 돌리실 수 있을 것입니다. # 단, 디렉토리 구조가 맞을 경우에 말입니다. # (이 스크립트는 CentOS 4.2이 설치된 머신에서 작동하셔야 합니다.) # 디렉토리 구조는 가장 아래부분에 설명합니다. #!/bin/sh # 스크립트에서 사용할 환경변수 선언 export PYTHONPATH=/usr/lib/anaconda export PATH="$PATH:/usr/lib/anaconda-runtime" export CENTBASE=/work/make_cd/CentOS/ # 이미 작성되어 있을지도 모를 디렉토리 삭제 rm ..

Programming/Technic 2013.12.06

CentOS 5.3에서 아파치 개인 사용자별 설정

자꾸 잊어먹어서 여기에 적어두도록 한다. CentOS 5.3에는 기본적으로 아파치가 설치되어 있다. 물론 운영체제가 시작할 때 자동으로 실행되지는 않는다. 일단 아파치를 실행하기 위해서는 'service httpd start'를 해주어야 한다. 그리고 부팅시 자동으로 올라오게 하려면 setup을 통해서 설정할 수 있다. 기본적으로 설치되어 있는 아파치 설정은 개인 사용자마다 홈페이지를 가질 수 없도록 설정이 되어 있다. 여기서 설정 파일을 수정하여서 각 개인 사용자마다 홈페이지 디렉토리를 가질 수 있도록 한다. 일단 /etc/httpd/conf/httpd.conf 파일을 열어서 mod_userdir 이라고 검색을 하면 'UserDir disable' 이렇게 되어있다. 이 부분에 주석 처리를 하고 아래부분..

Programming/Technic 2009.08.28

crontab 설정

리눅스에 보면 crontab이라는 것이 있다. 이것은 특정 시간마다 특정 프로그램을 실행시켜주는 것이라고 생각하면 된다. 이것을 실행해주는 서비스는 crond라는 서비스이며 설정은 /etc/crontab에서 할 수 있다. 특정 주기라 함은 분, 시간, 날짜, 요일, 달 이렇게 다섯가지로 나타나면 *로 설정된 것은 매 주기마다 라는 것을 의미한다. 설정은 다음과 같이 할 수 있다. * * * * * /home/hippo/hippo/monitor/monitor.pl > /dev/null 2>&1 앞에 있는 *부터 순서대로 각각이 분 시간 일 월 요일 을 의미한다. 위의 설정은 매 분마다 프로그램을 실행하라는 의미다. 분은 0~59 시는 0~23 일은 0~31 월은 1~12 요일은 0~7(0 또는 7은 일요일..

Programming/Technic 2009.07.06

xen 컴파일 하기~

가상화 기술로서 유명한 Xen!! 이넘은 상당히 까탈스러워서 컴파일하는게 만만치 않다.. 매번 컴파일할 때마다 삽질에 삽질...ㅠㅠㅠ 오늘 다시 컴파일하다가 원인을 찾아냈다!!! 기본적으로 설치되는 패키지들과 Xen에서 의존성 걸려있는 패키지를 모두 설치해서 컴파일할 때 항상 다음과 같은 에러가 발생한다. /bin/sh: line 8: hg: command not found 기존 버전에서도 그렇고 최신 버전에서도 마찬가지이다.. 그래서 구글링을 해본 결과 추가적인 패키지가 필요하다고 한다.. mercurial 이라는 패키지를 설치하여 컴파일하면 잘된다!!! CentOS: yum install mecurial Ubuntu : apt-get install mecurial 이렇게 하고 나서 다시 make wo..

Programming/Technic 2009.06.29

C++ 헤더파일에서 전역변수 선언하여 사용하기

C++로 프로그램을 작성하다가 난관에 부딪혀서 삽질을 좀 하다가 해결책을 찾아내어서 몇 자 적어본다.. 모듈로 나누어서 프로그램을 작성하여 make로 컴파일할 경우에 gcc를 사용하는 C에서는 전역변수를 알아서 처리해준다.. 따라서 전역변수에 대해서 따라 신경을 쓸 필요가 없다..일반적으로 그렇다.. 그러하기 때문에 gcc에서 옵션을 추가해서 사용하는 g++도 역시 그러할 것이라고 생각했다.. 하지만 C++용 컴파일을 하는 g++에서는 이와 같은 것을 용납하지 않는다..완전 난감.. 같은 헤더파일을 참조하고 같은 변수를 건드려야 하기 때문에 헤더파일마다 변수를 선언할 수도 없고 서로 같은 헤더파일을 가리키고 있는 경우가 있기 때문에 이것을 어떻게 처리해야 하는지 대해서 완전 고민에 고민을 거듭했다.. 구..

Programming/Technic 2009.01.14

Cent OS 4를 이용한 RedHat Linux 배포판 만들기 - 2

RedHat 배포판에 보면 기본적인 디렉토리가 있다. 배포판마다 CD 장수가 다르지만 기본적으로 모든 배포판에는 RedHat이라는 디렉토리가 존재한다. 이 디렉토리가 RedHat 배포판에 핵심이다. 우선 1번 CD의 구조를 보면 여러개의 디렉토리로 이루어져 있다. 그중에서 우리가 눈여겨 보아야 할 디렉토리는 두 가지이다. (사실은 다른 디렉토리가 무슨 역할을 하는지 잘 모름..-_-;;) 하나는 isolinux라는 디렉토리이다. 이 디렉토리에는 부팅 이미지가 들어있다. 여기에 있는 부팅이미지로 CD를 넣고 부팅하면 아나콘다가 뜨는 것이다. 이 디렉토리는 그냥 하는 역할만 알 뿐 건드리지 않는 디렉토리이다. 다른 하나는 RedHat이라는 디렉토리이다. RedHat으로 기반으로 나오는 리눅스들은 다른 이름을..

Programming/Technic 2008.10.21
728x90
반응형