• 워드프레스의 웹서버와 DB서버 분리 – 2. MariaDB와 워드프레스 설치

    앞의 포스트에서 웹서버로 사용할 리눅스(Ubuntu 20.04) 서버에 Apache 2와 PHP 7.4를 설치하는 과정을 살펴보았다. 이제 DB서버로 사용할 리눅스 서버에 MariaDB를 설치하고 웹서버에 워드프레스 설치파일을 업로드하고 설치하는 과정을 기록한다. LAMP의 DB서버로 사용할 리눅스(Ubuntu 20.04) 서버에 로그인 하여 MariaDB를 설치한다. MariaDB 설치하기 sudo apt install mariadb-server mariadb-client 아래 화면처럼 MariaDB Server가 설치된다. M …

  • 워드프레스의 웹서버와 DB서버 분리하기 – 1. Apache 웹서버와 PHP 설치

    개인 홈페이지 또는 블로그를 운영하는 사람들에게는 작은 고민거리가 있다. 바로 무료로 제공하는 네이버나 카카오의 블로그 서비스를 이용할 것이냐 아니면 개인적으로 호스팅 또는 클라우드에 작은 서버를 두고 직접 구축하여 운영할 것이냐 하는 문제다. 나 또한 그런 고민을 하지 않는 것은 아니지만 이미 이용하고 있는 티스토리나 네이버 포털의 무료 블로그 서비스를 이탈하는 결정은 쉽게 내릴 수 없다. 티스토리나 네이버와 같이 포털의 불로그를 오랫동안 운영하면서 작성하여 포스팅한 글을 모두 옮기는 것도 문제고 이미 검색엔진에 등록되어 있는 …

  • 시놀로지 NAS에 Jira를 도커로 설치하기 (DS220+)

    업무 때문에 여기저기 (주로)IT업체를 방문해 보면 프로젝트 관리 또는 이슈관리 시스템으로 Jira(지라)를 사용하는 경우를 많이 보게된다. 하지만 난 "보기"만 했지 직접 "설치"를 해본적은 없다. 직접 설치하고 사용자 계정과 프로젝트를 만들고 이슈 처리 절차를 정의해본 경험이 없다는 얘기다. 그래서 이번에 시놀로지 NAS의 Docker에 Jira를 설치해보기로 했다. 먼저 Jira Home 디렉토리 만들기 먼저 Jira 설치 시 홈디렉토리 생성 폴더로 마운트 해줄 "Atlassian" 이라는 디렉토리를 파일 스테이션의 dock …

  • 시놀로지 NAS에 MariaDB를 Docker로 설치하기 (DS220+)

    시놀로지 NAS의 일부 저가형 모델을 제외한 최근 출시되는 모델들은 가상화(Virtualization) 기술에 기반한 VM(Virtual Machine) 방식과 응용프로그램 가상화 기술에 기반한 도커(Docker) 가상화를 지원한다. 이번 포스트에서는 도커 기반 가상화를 통해 MariaDB를 설치하고 원격에서 접속할 수 있도록 설정하는 과정을 포스팅 한다. MariaDB의 데이터베이스와 설정파일의 외부 디렉토리 생성 응용프로그램 가상화 기술인 도커 기반의 컨테이너는 응용프로그램의 파일들, 여기서는 MariaDB의 실행파일들과 설정 …

  • Apache 웹서버에 MPM 설정으로 성능 개선하기 (prefork , worker, event)

    아파치 웹서버의 다중처리모듈(MPM)이란 ? Apache 웹서버를 설치하면 기본적으로 다중처리모듈은 전통적인 다중요청 처리방식인 prefork 방식으로 동작하도록 설치된다. 다중처리모듈(Multi-Processing-Module) 이란, 여러 이용자(웹브라우저)가 동시에 웹서버에 접속하여 웹페이지를 요청하였을 때 이 요청들을 동시에 처리할 수 있도록 해주는 아파치 웹서버의 모듈이다.  MPM 모듈은 아파치 서버의 다른 모듈들과 마찬가지로 Shared Object 파일 (.so)로 만들어져 아파치 웹서버에 Load 된다. …

  • [Flask 웹 프레임워크] 게시판에 CKEditor 5 적용하기

    앞의 포스트들에서 Python + Flask웹프레임워크를 이용해 간단한 글목록, 글보기, 글쓰기, 글수정 기능이 구현된 게시판을 만들었다. [Flask 웹 프레임워크] ORM을 사용하여 게시판 글 수정하고 저장하기 [Flask 웹 프레임워크] 부트스트랩 4.5.3 적용하기 등등~ ^^ 하지만 아직도 문제가 하나 남았다. 바로 에디터다. HTML의 <textarea>~~</textarea> 태그를 이용해 글을 입력받으면 글의 폰트를 바꿀수도, 글의 크기를 조절하는 것도 줄간격을 조절할 수도 없다. 글에 이미지를 …

  • [Flask 웹 프레임워크] ORM을 사용하여 게시판 글 수정하고 저장하기

    글을 수정하고 저장하기 위해서는 ORM을 이용해 DB에서 글을 조회하여 수정 폼(Form)이 포함된 HTML 페이지에 표시해주고 저장할 경우 다시 ORM을 이용해 DB에 저장한 뒤 다시 글의 내용을 보여줘야 한다. 먼저 글 보기 페이지에 "수정하기 버튼을 추가한다. 글보기 페이지에 수정하기 버튼 추가 (26행) 목록보기로 돌아가는 버튼은 덤이다. (25행) 글 보기화면이 다음과 같이 수정되었다. 글보기에 추가 된 "수정하기"와 "목록으로" 버튼 부트스트랩4의 버튼 스타일 중 "btn btn_light" CSS를 적용했다. 다음은 D …

  • [Flask 웹 프레임워크] 부트스트랩 4.5.3 적용하기

    지금까지 Flask 웹프레임워크를 이용해 만든 웹페이지들은 정말...눈꼽만큼도 꾸미지 않은 날것의 HTML이다. 그래서 이런 화면이다. Flask 웹 프레임워크로 작성한 기본적인 게시판 화면 생애 최초로 도전한 Python의 Flask 웹 프레임 워크로 작성한 매우 기본적인 글쓰기, 글 목록, 글보기 화면은 다음과 같다. PHP나JSP로 작성하는 경우와 비교하면 비교적 짧은 시간에 기본적인 화면을 표시하고 DB에 저장하고 조회하는 코드를 작성할 수 있었다. 아마도 Python과 Flask 웹 프레임워크에 익숙해진다면 절반 정도의 …

  • [Flask 웹 프레임워크] 글 목록에서 하나의 글 보기 (URL 변수)

    앞의 포스트들에서 Flask 프레임웨크를 통해 글을 작성하면 ORM을 이용해 DB에 저장하고 글의 목록을 표시하는 기능까지 코딩했다. 이번에는 글의 목록에서 하나의 글을 선택했을 때 ORM을 이용해 가져오고 render_template()을 이용해 글의 내용을 화면에 표시하는 코드를 작성한다. 단, 글의 목록에 HTTP GET 메소드를 이용해 URL끝에 변수와 파라미터를 조합하여 웹서버로 전달하는 방식이 아닌 URL의 끝에 게시물의 번호를 URL에 붙여 URL을 호출하는 형태로 작성하려고 방법을 알아봤다. 마치 티스토리에서 포스트의 …

  • [Flask 웹 프레임워크]ORM을 사용하여 입력받은 내용을 DB에 저장하는 코드 작성

    앞의 포스트에서 Flask_Migrate를 이용하여 ORM을 구현하고 MariaDB에 저장되어 있는 테이블에서 글의 목록을 조회하는 파이썬 코드를 작성하였다. 그리고 조회한 글의 목록을 보여주는 post_list.html 이라는 HTML 페이지를 작성하고 render_template() 함수를 이용해 출력하였다. [Flask 웹 프레임워크] render_template()을 사용하여 HTML 렌더링하기 이제 글을 작성할 수 있는 간단한 FORM을 작성하고 Flask_Migrate에 포함되어 있는 SQLAlchemy의 ORM 연동기능 …