[카테고리:] 서버

서버 관련글 모음

  • Ubuntu에서 노트북을 닫았을 때 화면만 꺼지고 시스템은 계속 동작하도록 설정

    Ubuntu에서 노트북을 닫았을 때 화면만 꺼지고 시스템은 계속 동작하도록 설정하려면, 전원 관리 설정을 변경해야 합니다. 다음 단계를 따라 해보세요:

    방법 1: logind.conf 파일 수정

    1. 터미널을 열고 다음 명령어로 설정 파일을 엽니다: sudo nano /etc/systemd/logind.conf
    2. 아래 항목을 찾아서 다음과 같이 수정합니다: HandleLidSwitch=ignore HandleLidSwitchDocked=ignore 주석(#)이 있다면 제거하고 값을 ignore로 설정하세요.
    3. 파일을 저장하고 닫습니다. (Ctrl + OEnterCtrl + X)
    4. 설정을 적용하려면 다음 명령어로 systemd-logind를 재시작합니다: sudo systemctl restart systemd-logind

    이제 노트북을 닫아도 Ubuntu는 계속 동작하며 화면만 꺼집니다.

  • ubuntu24.04.3 nginx php8.4 mariadb 설치 보안설정 도메인 설정 자세한 설명 wordpress 설치(/var/www/html) 초기설정

    Ubuntu 24.04.3에서 Nginx + PHP 8.4 + MariaDB + WordPress를 설치하고 보안 및 도메인 설정까지 마무리하는 전체 과정을 자세히 설명드릴게요. 이 가이드는 서버를 처음 설정하는 사용자도 따라할 수 있도록 구성되어 있습니다.


    ✅ 1. 시스템 업데이트

    sudo apt update && sudo apt upgrade -y
    

    ✅ 2. Nginx 설치 및 설정

    sudo apt install nginx -y
    sudo systemctl enable nginx
    sudo systemctl start nginx
    

    🔒 방화벽 설정 (UFW 사용 시)

    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    

    ✅ 3. PHP 8.4 설치

    Ubuntu 24.04에는 기본적으로 PHP 8.4가 포함되어 있을 수 있습니다. 확인 후 설치하세요.

    sudo apt install php8.4 php8.4-fpm php8.4-mysql php8.4-cli php8.4-curl php8.4-gd php8.4-mbstring php8.4-xml php8.4-zip -y
    
    sudo systemctl enable php8.4-fpm
    sudo systemctl start php8.4-fpm
    

    ✅ 4. MariaDB 설치 및 보안 설정

    sudo apt install mariadb-server -y
    sudo systemctl enable mariadb
    sudo systemctl start mariadb
    

    🔒 보안 설정

    sudo mysql_secure_installation
    
    • 루트 비밀번호 설정
    • 익명 사용자 제거
    • 원격 루트 로그인 비활성화
    • 테스트 DB 제거
    • 권한 테이블 다시 로드

    ✅ 5. WordPress용 데이터베이스 생성

    sudo mysql -u root -p
    
    CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    CREATE USER 'wpuser'@'localhost' IDENTIFIED BY '비밀번호';
    GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    

    ✅ 6. WordPress 다운로드 및 설치

    cd /tmp
    wget https://wordpress.org/latest.tar.gz
    tar -xvzf latest.tar.gz
    sudo mv wordpress/* /var/www/html/
    sudo chown -R www-data:www-data /var/www/html/
    sudo chmod -R 755 /var/www/html/
    

    ✅ 7. Nginx 서버 블록 설정 (도메인 연결)

    sudo nano /etc/nginx/sites-available/wordpress
    
    server {
        listen 80;
        server_name yourdomain.com www.yourdomain.com;
    
        root /var/www/html;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.4-fpm.sock;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    
    sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
    

    ✅ 8. 도메인 설정

    • 도메인 구매 후 DNS 설정에서 A 레코드를 서버 IP로 연결
    • yourdomain.com을 위의 Nginx 설정에 맞게 변경

    ✅ 9. HTTPS 보안 인증서 설정 (Let’s Encrypt)

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
    

    자동 갱신 확인:

    sudo certbot renew --dry-run
    

    ✅ 10. WordPress 웹 설치 마무리

    브라우저에서 http://yourdomain.com 또는 https://yourdomain.com 접속 후:

    • 언어 선택
    • DB 정보 입력 (wordpress, wpuser, 비밀번호)
    • 관리자 계정 생성
    • 사이트 이름 설정

  • Ubuntu 24.04.3에서 Nginx, PHP 8.4, MariaDB, 그리고 도메인 및 보안 설정을 포함한 웹 서버 환경을 구축하는 방법을 단계별로 자세히 설명드릴게요. 이 구성은 LEMP 스택(Linux, Nginx, MariaDB, PHP)을 기반으로 합니다.


    ✅ 1. 시스템 업데이트

    sudo apt update && sudo apt upgrade -y
    

    ✅ 2. Nginx 설치 및 설정

    sudo apt install nginx -y
    

    🔹 Nginx 서비스 시작 및 부팅 시 자동 실행

    sudo systemctl start nginx
    sudo systemctl enable nginx
    

    🔹 방화벽 설정 (UFW 사용 시)

    sudo ufw allow 'Nginx Full'
    sudo ufw enable
    

    ✅ 3. PHP 8.4 설치

    Ubuntu 24.04.3에는 기본적으로 최신 PHP가 포함되어 있을 수 있지만, PHP 8.4는 아직 공식 릴리스가 아닐 수 있으므로 ondrej/php PPA를 사용할 수 있습니다.

    sudo apt install software-properties-common -y
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    sudo apt install php8.4 php8.4-fpm php8.4-mysql php8.4-cli php8.4-curl php8.4-mbstring php8.4-xml php8.4-zip -y
    

    🔹 PHP-FPM 서비스 시작

    sudo systemctl start php8.4-fpm
    sudo systemctl enable php8.4-fpm
    

    ✅ 4. MariaDB 설치 및 보안 설정

    sudo apt install mariadb-server mariadb-client -y
    

    🔹 MariaDB 보안 설정

    sudo mysql_secure_installation
    
    • 루트 비밀번호 설정
    • 익명 사용자 제거
    • 원격 루트 로그인 비활성화
    • 테스트 데이터베이스 제거
    • 권한 테이블 다시 로드

    ✅ 5. Nginx + PHP 연동 설정

    🔹 예시: /etc/nginx/sites-available/example.com

    server {
        listen 80;
        server_name example.com www.example.com;
    
        root /var/www/example.com/public;
        index index.php index.html;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/run/php/php8.4-fpm.sock;
        }
    
        location ~ /\.ht {
            deny all;
        }
    }
    
    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx
    

    ✅ 6. 도메인 설정

    • 도메인 구매 후 DNS 설정에서 A 레코드를 서버의 공인 IP로 설정합니다.
    • 예: example.com → 123.123.123.123

    ✅ 7. HTTPS 보안 설정 (Let’s Encrypt)

    sudo apt install certbot python3-certbot-nginx -y
    sudo certbot --nginx -d example.com -d www.example.com
    
    • 인증서 자동 갱신 확인:
    sudo certbot renew --dry-run
    

    ✅ 8. 추가 보안 설정

    • Fail2Ban 설치:
    sudo apt install fail2ban -y