• 우분투 20.04 에 MariaDB 설치하기

    python의 웹 프레임워크인 Flask를 테스트하면서 DB를 연동해야할 일이 생겼다. MySQL을 설치할지 아니면 MariaDB를 설치할지를 고민하다 MariaDB를 설치하기로 했다. [Flask 웹 프레임워크] Blueprint를 이용한 모듈화 이해하기 사실 MySQL과 MariaDB는 같은(?) DBMS다. MySQL을 오픈소스로 개발하던 회사를 선 마이크로시스템즈(Sun Microsystems)가 인수하고 몇 년이 지난 뒤 그 선 마이크로시스템즈를 다시 Oracle이 인수했다. 그리고 이 때 MySQL 개발진이 Oracle …

  • 워드프레스 블로그 방문자 분석도구 만들기 (Apache access log 분석)

    이 블로그는 오라클 클라우드에서 제공하는 평생 무료 서비스에 구축하여 운영중이다. 우분투 리눅스 가상머신 2대를 생성하여 하나의 가상서버에는 아파치 웹서버와 PHP를 설치하였고 다른 하나의 가상머신에 MariaDB DBMS를 설치하였다. 그리고 웹 어플리케이션은 워드프레스(Wordpress)를 설치하여 블로그를 구성하였다. www가 웹서버이고 mariadb가 DB서버다. 그리고 ap-svr-01 서버가 바로 오늘의 주제인 워드프레스 블로그의 방문자 분석, 즉 Apache 웹서버의 access log를 분석하고 DB에 업로드하는 웹 …

  • [Apache] 악성 봇과 크롤러 차단하기 (.htaccess)

    블로그와 같은 웹서비스를 구축하고 운영하다 보면 광고댓글, 악성댓글과 싸우게 된다. 하지만 이 싸움에서 이기고 나니 다시금 악성 봇과 웹 크롤러들과 싸우는 2차 대전이 벌어졌다. 하지만 이젠 그 싸움이 그다지 어렵지 않다. 광고댓글과 악성댓글을 작성하는 IP를 .htaccess 파일에서 차단하듯 새로운 룰을 적용하여 차단하면 된다. 다만 악성봇과 웹크롤러들은 IP로 차단하기는 어렵다. Access.log를 분석해 보면 User-Agent에 봇이나 웹 크롤러의 정보가 보이는데 광고댓글이나 악성댓글이 대부분 한두개의 IP에서 들어와 …

  • MariaDB 사용자 계정의 외부 접속 허용하기

    바로 앞의 포스트에서 MariaDB와 MySQL 설치 시 외부 접속 허용을 위해 DB서버가 TCP 포트를 바인드하도록 설정하는 방법을 설명했다. 이번엔 DB서버가 바인드 한 포트를 통해 MariaDB와 MySQL의 사용자 계정에게 외부에서의 접속 권한을 부여하는 방법에 대해 포스팅한다. 즉 외부에서 MariaDB나 MySQL에 접속되지 않을 때 원인은 대부분 두세 가지로 압축된다. DB서버 데몬이 외부 접속을 허용하기 위해 TCP 포트를 바인드하지 않고 있거나 바인드하고 있다 하더라도 DB사용자 계정에게 접속 권한이 없는 경우 그 …

  • MariaDB 외부 접속 허용하기

    MariaDB와 MySQL은 최초 설치 시 기본적으로 외부접속을 허용하지 않는다. 하지만 예전 버전의 MariaDB와 MySQL은 외부에서 접속을 허용하기 위해 TCP/3306 포트를 Bind했었다. 그런 다음 DBMS의 사용자 계정에 대해 외부에서의 접속을 허용할 것인지 권한 설정을 통해 통제하고 있었다. 그런데 언제부턴가 MySQL이나 MariaDB를 설치하면 기본적으로 TCP/3306 포트를 Bind하지 않고 있다. 심지어 localhost의 TCP/3306도 바인드하지 않는다. 그래서 아무리 mysql.user 테이블에 있 …

  • VSCode와 Linux의 Git 연동하기

    VSCode(Visual Studio Code)는 Microsoft에서 개발하여 공개하고 있는 소프트웨어 중 가장 찬사를 받는 소프트웨어 중 하나다. 그 이유는 개발자들이 코딩을 하는데 있어 매우 강력한기능들을 제공하기 때문이다. 비교적 무거운 소프트웨어 임에도 말이다. 그중에서도 리눅스 서버에 Remote SSH 플러그인을 통해 원격접속한 다음 서버의 소스코드를 쉽게 편집하고 저장할 수 있는 기능은 많은 개발자들이 편리하게 사용하고 있는 기능이다. 게다가 오늘 포스팅하는 "리눅스 서버에 설치된 Git"과 연동하여 Git의 버전관 …

  • [https 적용하기] 웹서버에 도메인 네임 주소와 SSL 인증서 설치하기

    직접 구축한 홈페이지 또는 블로그에 https를 적용하기 위해서는 웹서버 또는 블로그에 직접 구입한 도메인 네임 주소를 연결하고 SSL 인증서를 발급받아 설치해야 한다. 이 과정은 관련 지식이 부족한 사람에게는 매우 어려운 작업이지만 하나 하나 차근차근 공부해나간다면 충분히 할 수 있는 작업이기도 한다. 일단 도메인 네임 주소의 구입과 워드프레스 등을 설치할 수 있는 웹서버를 이미 구축했다 가정하고 구입한 도메인 네임 주소의 연결과 SSL 인증서 발급을 통해 https를 적용하는 과정에 대해 설명한다. 만약 워드프레스 등의 설치를 …

  • Rocky Linux 9.3에 MariaDB 설치하기

    워드프레스와 같은 블로그 툴을 리눅스 서버에 설치하기 위해서는 APM, 즉 Apache, PHP, MariaDB (또는 MySql)를 설치해야 한다. 앞의 포스트에서 Apache 웹서버와 PHP의 설치에 대해 설명했다. 이제 MariaDB를 설치하는 과정을 기록하고자 한다. MariaDB Server 설치 다음과 같이 dnf 명령을 사용해 MariaDB 서버 패키지를 설치한다. sudo dnf install mariadb-server 설치될 패키지와 의존성(dependensy)이 있는 패키지 목록을 보여주고 설치할지 물어본다. y …

  • Rocky Linux에 APM 설치하기 – Apache + PHP 설치하기 (PHP-FPM)

    RedHat 리눅스, CentOS 리눅스, Rocky 리눅스의 관계 RedHat에서 RedHat Enterprise Linux와 완벽하게 동일한 코드를 갖는 CentOS의 지원을 중단하고 CentOS Stream이라는 RedHat 공식 릴리즈 버전을 제작하기 전에 만들어 배포하는 업스트림 배포본으로 정책을 변경하면서 그에 반발해 다시금 RedHat과 100% 호환되는 완전하게 동일한 코드를 갖는 오픈소스 리눅스 프로젝트가 바로 Rocky Linux다. RedHat은 Fedora 버전의 리눅스를 오픈소스 개발자들과 함께 개발하며 약 …

  • [워드프레스] .htaccess 설정을 사용하여 스팸댓글 차단하기

    워드프레스는 블로그를 만들어 운영할 수 있는 매우 강력한 컨텐츠 관리도구(CMS)다. 하지만 그에 따른 부작용으로 블로그의 포스트에 달라붙는 스팸댓글의 피해도 발생하게 된다. 블로그에 포스트를 작성하면서 성장시키다 보면 어김없이 스팸댓글이 달리게 된다. 앞의 포스트에서 스팸댓글을 휴지통으로 보내거나 승인받은 후에 게시되도록 하는 방법을 포스팅했다. 이 방법을 사용하면 대부분의 스팸댓글이 곧바로 게시되지 않고 승인을 해주어야만 보여지게 되며 스팸댓글이 확실하다면 곧바로 휴지통으로 들어가도록 할 수 있다. 그러나 승인대기중인 스팸댓글 …