우분투,터미널 서버,노트북, 와이파이 연결하기

우분투에서 터미널 서버(SSH)로 노트북의 와이파이에 연결하려면 다음 단계를 따르세요.


📌 1. 현재 네트워크 상태 확인

터미널에서 다음 명령어를 입력하여 네트워크 인터페이스를 확인하세요.

bash
nmcli device status

wifi 상태인 인터페이스 이름을 확인하세요(예: wlp3s0).


📌 2. 사용 가능한 Wi-Fi 목록 확인

Wi-Fi 네트워크를 검색하려면 다음 명령어를 사용하세요.

bash
nmcli device wifi list

여기서 연결하려는 Wi-Fi의 SSID(이름)를 확인하세요.


📌 3. Wi-Fi 네트워크 연결

다음 명령어를 사용하여 Wi-Fi에 연결하세요.

bash
nmcli device wifi connect "WiFi_이름" password "WiFi_비밀번호"

예시:

bash
nmcli device wifi connect "MyWiFi" password "mypassword123"

연결이 성공하면 IP를 확인하세요.

bash
ip a

📌 4. 자동 연결 설정 (선택 사항)

Wi-Fi를 부팅 시 자동 연결하려면 다음 명령어를 실행하세요.

bash
nmcli connection modify "WiFi_이름" connection.autoconnect yes

📌 5. SSH로 서버에 접속

서버의 IP 주소를 알고 있다면, SSH를 통해 접속할 수 있습니다.

bash
ssh 사용자이름@서버IP

예:

bash
ssh soon7@192.168.1.100

만약 SSH 서버가 설치되지 않았다면 서버에서 다음 명령어를 실행하세요.

bash
sudo apt update && sudo apt install -y openssh-server

이후 SSH 서비스를 활성화하세요.

bash
sudo systemctl enable --now ssh

이제 SSH를 사용하여 터미널 서버에 원격으로 접속할 수 있습니다. 🚀

MySQL에서 특정 테이블의 내용을 보려면

MySQL에서 특정 테이블의 내용을 보려면 다음 절차를 따르면 됩니다.

  1. MySQL에 로그인: 터미널에서 MySQL에 로그인하려면 다음 명령어를 사용하세요.

    bash
    sudo mysql -u root -p
  2. 데이터베이스 선택: 먼저 사용하려는 데이터베이스를 선택해야 합니다. 예를 들어, Homedaily_sum 데이터베이스를 선택하려면 다음 명령어를 입력합니다:

    sql
    USE Homedaily_sum;
  3. 테이블 목록 보기: 데이터베이스에서 모든 테이블을 확인하려면 다음 명령어를 입력합니다:

    sql
    SHOW TABLES;
  4. 특정 테이블의 내용 보기: 특정 테이블의 내용을 보려면 SELECT 쿼리를 사용합니다. 예를 들어, expenses라는 테이블의 내용을 보려면 다음 명령어를 입력합니다:

    sql
    SELECT * FROM expenses;

    이 명령은 expenses 테이블의 모든 열을 출력합니다. 만약 특정 컬럼만 보고 싶다면 * 대신 컬럼명을 지정할 수 있습니다. 예를 들어, dateamount 컬럼만 보고 싶다면 다음과 같이 입력합니다:

    sql
    SELECT date, amount FROM expenses;
  5. MySQL에서 나가기: 작업이 끝난 후 MySQL에서 나가려면 다음 명령어를 입력합니다:

    sql
    exit;

이렇게 하면 MySQL에서 원하는 테이블의 내용을 확인할 수 있습니다.

mysql, 우분투, 데이터 베이스에서 사용자 보기

우분투에서 MySQL 데이터베이스에 연결하여 사용자 목록을 확인하려면, 다음 단계를 따르세요:

  1. MySQL에 로그인: MySQL 서버에 접속하려면 터미널에서 다음 명령어를 입력합니다. mysql 명령어를 사용하여 로그인합니다:

    bash
    sudo mysql -u root -p

    여기서 root는 MySQL의 관리자 계정입니다. 비밀번호를 입력하라는 메시지가 나타나면, MySQL root 계정의 비밀번호를 입력합니다.

  2. 사용자 목록 조회: MySQL에 접속한 후, 다음 SQL 쿼리를 입력하여 데이터베이스에서 사용자의 목록을 조회할 수 있습니다:

    sql
    SELECT user, host FROM mysql.user;

    이 명령어는 mysql 데이터베이스의 user 테이블에서 모든 사용자와 해당 호스트 정보를 표시합니다.

  3. MySQL에서 나가기: 사용자를 확인한 후 MySQL에서 나가려면 다음 명령어를 입력합니다:

    sql
    exit;

이제 MySQL 데이터베이스에 있는 사용자 목록을 확인할 수 있습니다.

우분투, 아파치, https를 사용할 수 있도록 세팅하는 방법

Ubuntu에서 Apache 웹 서버를 HTTPS를 사용할 수 있도록 설정하려면 다음 과정을 따르세요:


1. Apache 설치

  1. 터미널을 열고 Apache를 설치합니다.
    bash
    sudo apt update
    sudo apt install apache2
  2. Apache 서비스가 실행 중인지 확인합니다.
    bash
    sudo systemctl status apache2

    서비스가 활성 상태(active (running))인지 확인하세요.


2. 방화벽 설정

  1. HTTP와 HTTPS 트래픽을 허용합니다.
    bash
    sudo ufw allow 'Apache Full'
  2. 방화벽 상태를 확인하여 Apache가 열려 있는지 확인합니다.
    bash
    sudo ufw status

3. SSL 모듈 활성화

  1. Apache에 SSL 모듈을 활성화합니다.
    bash
    sudo a2enmod ssl
  2. Apache를 다시 시작합니다.
    bash
    sudo systemctl restart apache2

4. SSL 인증서 설정

4.1. Certbot 설치 (Let’s Encrypt)

Certbot은 무료 SSL 인증서를 발급받고 자동으로 갱신해주는 도구입니다.

  1. Certbot과 Apache 플러그인을 설치합니다.

    bash
    sudo apt install certbot python3-certbot-apache
  2. Certbot을 실행해 인증서를 발급받고 Apache에 HTTPS를 자동으로 설정합니다.

    bash
    sudo certbot --apache
    • 이메일 주소 입력
    • 서비스 약관 동의
    • HTTP를 HTTPS로 리다이렉션할지 여부 선택

4.2. DNS 설정 확인

Certbot은 도메인 소유권 확인을 위해 DNS 설정이 필요합니다. 도메인 이름이 서버의 공인 IP와 연결되어 있는지 확인하세요.


5. 설정 테스트

  1. Apache 구성이 올바른지 확인합니다.

    bash
    sudo apache2ctl configtest

    오류가 없으면 “Syntax OK”가 출력됩니다.

  2. 웹 브라우저에서 도메인 이름을 통해 HTTPS로 접속합니다. 예: https://your-domain.com


6. SSL 인증서 자동 갱신 설정

Let’s Encrypt 인증서는 90일 유효합니다. 자동 갱신을 위해 Cron 작업을 설정합니다.

  1. Cron 작업을 확인:
    bash
    sudo systemctl list-timers

    Certbot 자동 갱신이 설정되어 있다면 별도 작업은 필요 없습니다.

  2. 수동 테스트:
    bash
    sudo certbot renew --dry-run

7. HTTPS로 리디렉션 설정 (선택 사항)

Certbot에서 설정하지 않았다면, 수동으로 리디렉션을 추가할 수 있습니다.

  1. Apache 설정 파일을 열어 HTTPS 리디렉션 추가:

    bash
    sudo nano /etc/apache2/sites-available/000-default.conf
  2. 아래 내용을 <VirtualHost> 블록에 추가합니다.

    apache
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
  3. Apache를 다시 시작합니다.

    bash
    sudo systemctl restart apache2

이 과정을 완료하면 Ubuntu에서 Apache를 HTTPS로 사용할 수 있는 환경이 설정됩니다.

포트 확인 사이트

포트를 확인할 수 있는 사이트는 다음과 같습니다:

  1. YouGetSignalhttps://www.yougetsignal.com/tools/open-ports/
    공인 IP 주소와 특정 포트를 입력하면 열려 있는지 확인해줍니다.

  2. Port Checkerhttps://portchecker.co/
    공인 IP 주소와 포트를 입력해 포트 개방 여부를 테스트할 수 있습니다.

  3. Ping.euhttps://ping.eu/port-chk/
    간단히 공인 IP 주소와 포트 번호를 입력해 포트 상태를 확인할 수 있습니다.

이 사이트들에서 집 서버의 공인 IP와 사용 중인 포트를 입력해 확인해 보세요.

KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하지 않고 내가 확인할 수 있는 방법은?

KT에서 포트를 차단했는지 직접 확인하려면 외부 네트워크에서 웹 서버의 공인 IP 주소와 해당 포트로 접근 시도를 해 볼 수 있습니다. 다음 방법으로 확인 가능합니다.

1. 외부 네트워크에서 접근 테스트

  • 다른 네트워크 환경(예: 휴대폰의 데이터 네트워크)에서 집 서버의 공인 IP 주소와 포트를 이용해 웹 서버에 접속해 보세요.
  • 주소 형식 예시: http://공인_IP_주소:포트번호
  • 외부 네트워크에서 접근이 되지 않는다면, 포트 차단 가능성이 있습니다.

2. 포트 개방 확인 도구 사용

  • 인터넷에서 “포트 확인 사이트” 또는 “Port Checker” 같은 무료 도구를 사용하여 집 서버의 공인 IP 주소와 특정 포트(예: 80, 443)가 열려 있는지 확인할 수 있습니다.
  • 포트가 차단된 경우, 웹서버가 켜져 있어도 외부에서 포트를 스캔했을 때 “closed”로 나올 수 있습니다.

3. 명령어로 포트 확인 (외부 서버 이용)

  • 외부에 SSH 접속 가능한 서버가 있다면, 그 서버에서 telnet 명령어로 포트 상태를 확인할 수 있습니다.
  • 예:
    bash
    telnet 공인_IP_주소 80
  • 연결이 성공하면 서버가 외부에서 접근 가능하다는 뜻이고, 실패하면 포트가 차단되었을 가능성이 큽니다.

이렇게 직접 확인하면 포트 차단 여부를 파악할 수 있습니다.

kt 인터넷을 사용하고 있고 집에서 웹서버를 설치 했는데 열리지 않는다. 무엇부터 확인해야 되나요?

웹서버가 열리지 않는 문제는 여러 원인이 있을 수 있습니다. 다음 단계로 문제를 해결해 보세요:

  1. 서버 상태 확인: 서버가 실제로 실행 중인지, 그리고 Apache가 정상적으로 작동하는지 확인하세요. Ubuntu에서는 다음 명령어를 사용합니다:

    bash
    sudo systemctl status apache2
  2. 포트 포워딩 설정 확인: KT 인터넷의 경우, 외부에서 집안 네트워크로 접근하려면 라우터에서 포트 포워딩을 설정해야 합니다. 일반적으로 웹서버는 80번 포트(HTTP) 또는 443번 포트(HTTPS)를 사용하므로, 이 포트를 서버의 내부 IP 주소로 포워딩해야 합니다.

  3. 방화벽 설정 확인: 서버의 방화벽이나 라우터의 방화벽이 포트 접근을 막고 있을 수 있습니다. Ubuntu에서는 다음 명령어로 방화벽 설정을 확인하고 포트를 열어 주세요:

    bash
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
  4. 공인 IP 주소 확인: KT 인터넷의 경우 공유기 설정에서 공인 IP를 확인하고, 해당 IP로 접근해야 합니다. 일부 ISP는 공인 IP 제공에 제한이 있을 수 있습니다.

  5. ISP 제한 확인: KT에서 개인 웹 서버 호스팅을 제한할 가능성이 있으므로, 필요 시 고객센터에 문의하여 포트가 차단되어 있는지 확인하세요.

이 단계를 차례로 확인하시면서 웹 서버가 정상적으로 열리는지 테스트해 보세요.

워드프레스 백업과 복구 방법

워드프레스 백업과 복구 방법을 설명드릴게요. 전체적인 순서를 따라가시면 됩니다.

1. 워드프레스 백업 방법

1.1. 파일 백업

  • 워드프레스 설치 디렉토리(/var/www/html/wordpress)에 있는 모든 파일을 백업합니다.
bash
tar -czvf wordpress_backup.tar.gz /var/www/html/wordpress

1.2. 데이터베이스 백업

  • MySQL 데이터베이스를 백업합니다.
bash
mysqldump -u 개인아이디_HD -p Homedaily_sum > wordpress_db_backup.sql

2. 다른 서버에 복구하는 방법

2.1. 아파치, PHP, MySQL, 워드프레스 설치

새로운 서버에서 필요한 소프트웨어를 설치합니다.

  • 아파치 웹 서버 설치
bash
sudo apt update
sudo apt install apache2
  • PHP 설치
bash
sudo apt install php libapache2-mod-php php-mysql
  • MySQL 설치
bash
sudo apt install mysql-server
sudo mysql_secure_installation
  • 워드프레스 설치
bash
cd /var/www/html
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wordpress /var/www/html/wordpress

2.2. 데이터베이스 복구

  • 새 서버에서 MySQL에 로그인하고, 데이터베이스를 생성합니다.
bash
mysql -u root -p
CREATE DATABASE Homedaily_sum;
exit
  • 데이터베이스를 복구합니다.
bash
mysql -u 개인아이디_HD -p Homedaily_sum < wordpress_db_backup.sql

2.3. 파일 복구

  • 백업한 워드프레스 파일을 새로운 서버에 복사합니다.
bash
tar -xzvf wordpress_backup.tar.gz -C /var/www/html/

2.4. 파일 및 디렉토리 권한 설정

  • 권한을 적절하게 설정합니다.
bash
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo chmod -R 755 /var/www/html/wordpress

3. index.html 파일 설정

3.1. 리다이렉트 설정

  • /var/www/html/index.html 파일을 열어 아래 내용을 추가하여 soon7shop.kr에 접속 시 soon7shop.kr/wordpress/로 리다이렉트하도록 설정합니다.
html
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="refresh" content="0;url=/wordpress/">
</head>
<body>
<p>If you are not redirected, <a href="/wordpress/">click here</a>.</p>
</body>
</html>

4. 정상적으로 적용되었는지 테스트 방법

4.1. 웹서버 재시작

  • 아파치 서버를 재시작합니다.
bash
sudo systemctl restart apache2

4.2. 웹사이트 접속

  • soon7shop.kr에 접속하여 리다이렉트가 정상적으로 이루어지는지 확인합니다.
  • soon7shop.kr/wordpress/에 접속하여 워드프레스 사이트가 정상적으로 표시되는지 확인합니다.

4.3. 데이터베이스 연결 확인

  • 워드프레스에서 데이터베이스 연결이 정상적인지 확인하려면, wp-config.php 파일을 열어 데이터베이스 설정이 올바르게 되어 있는지 체크합니다.

5. 문제 발생 시 확인 사항

  • 아파치 서버 로그 확인: /var/log/apache2/error.log
  • MySQL 로그 확인: /var/log/mysql/error.log
  • 권한 문제 해결: sudo chown -R www-data:www-data /var/www/html/wordpress

위 순서대로 진행하면, 워드프레스 백업과 복구가 잘 완료될 것입니다.

우분투, ssh 포트 활성화

SSH 포트를 활성화하려면 몇 가지 단계를 따라야 합니다. 기본적으로 SSH는 포트 22를 사용합니다. 아래는 SSH 포트를 활성화하는 방법입니다.

  1. SSH 설치 확인 먼저 SSH가 설치되어 있는지 확인합니다. Ubuntu에서는 아래 명령어로 확인할 수 있습니다:

    bash
    sudo apt update
    sudo apt install openssh-server
  2. SSH 서비스 확인 SSH 서비스가 실행 중인지 확인합니다:

    bash
    sudo systemctl status ssh

    SSH 서비스가 실행되지 않으면, 아래 명령어로 시작합니다:

    bash
    sudo systemctl start ssh
  3. 방화벽 설정 방화벽에서 SSH 포트를 허용해야 합니다. UFW를 사용하는 경우 아래 명령어로 SSH 포트를 열 수 있습니다:

    bash
    sudo ufw allow ssh

    또는 특정 포트 번호를 지정하려면(예: 포트 22) 아래 명령어를 사용합니다:

    bash
    sudo ufw allow 22/tcp

    방화벽 상태를 확인하려면:

    bash
    sudo ufw status
  4. 포트 변경 (선택 사항) 보안상의 이유로 SSH 포트를 변경할 수도 있습니다. /etc/ssh/sshd_config 파일을 수정하여 포트를 변경합니다. 아래 명령어로 파일을 엽니다:

    bash
    sudo nano /etc/ssh/sshd_config

    Port 22 항목을 원하는 포트 번호로 변경합니다. 예를 들어, 2222 포트를 사용하려면:

    yaml
    Port 2222

    파일을 저장하고 나서 SSH 서비스를 다시 시작합니다:

    bash
    sudo systemctl restart ssh
  5. 새 포트 방화벽 규칙 설정 포트를 변경한 경우, 새로운 포트 번호에 대해 방화벽 규칙을 추가해야 합니다. 예를 들어, 포트를 2222로 변경한 경우:

    bash
    sudo ufw allow 2222/tcp

    기존 포트(22)도 여전히 열려 있으면 보안을 위해 닫는 것이 좋습니다:

    bash
    sudo ufw deny 22/tcp
  6. SSH 접속 확인 변경된 포트로 SSH 접속이 잘 되는지 확인합니다:

    bash
    ssh -p 2222 username@your_server_ip

이 절차를 따르면 SSH 포트를 활성화하고 필요에 따라 포트를 변경할 수 있습니다.

우분투, 하드 디스크 용량 표시

하드 디스크의 용량을 확인하려면 df 명령어 또는 lsblk 명령어를 사용할 수 있습니다. 아래에서 두 가지 방법을 소개합니다.

1. df 명령어 사용

df 명령어는 디스크의 전체 용량, 사용된 용량, 남은 용량 등을 표시해줍니다.

bash
df -h

-h 옵션은 사람이 읽기 쉬운 형식으로 용량을 표시해줍니다 (예: MB, GB, TB).

출력 예시:

bash
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 25G 75G 25% /
/dev/sdb1 200G 50G 150G 25% /mnt/mydisk

이 출력에서 Size는 전체 용량, Used는 사용된 용량, Avail은 남은 용량을 나타냅니다.

2. lsblk 명령어 사용

lsblk 명령어는 시스템에 연결된 모든 블록 장치의 정보를 트리 형식으로 보여줍니다. 이 명령어는 각 디스크와 파티션의 용량을 확인하는 데 유용합니다.

bash
lsblk

출력 예시:

pgsql
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 500G 0 disk
├─sda1 8:1 0 100G 0 part /
└─sda2 8:2 0 400G 0 part /mnt/storage
sdb 8:16 0 200G 0 disk
└─sdb1 8:17 0 200G 0 part /mnt/mydisk

이 출력에서 SIZE는 각 디스크와 파티션의 용량을 나타냅니다.

3. fdisk 명령어 사용

fdisk 명령어를 사용하여 디스크의 파티션 정보를 확인할 수도 있습니다.

bash
sudo fdisk -l

출력 예시:

bash
Disk /dev/sda: 500 GB
Disk /dev/sdb: 200 GB

이 방법들 중 하나를 사용하여 하드 디스크의 용량을 쉽게 확인할 수 있습니다.