# http2 모듈 사용
a2enmod http2
# conf 파일 수정
Protocols h2 h2c http/1.1
# 테스트
curl -I --http2 -s https://domain.com/ | grep HTTP
# 테스트 결과
자료 출처: https://httpd.apache.org/docs/2.4/mod/mod_http2.html
취미와 개발 관련 메모.
# http2 모듈 사용
a2enmod http2
# conf 파일 수정
Protocols h2 h2c http/1.1
# 테스트
curl -I --http2 -s https://domain.com/ | grep HTTP
# 테스트 결과
자료 출처: https://httpd.apache.org/docs/2.4/mod/mod_http2.html
로컬 또는 내부 특정 웹서버 로그인 기능 추가하기.
예제는 Basic 인증으로 작성 됨.
# 대략적인 흐름
도메인 접속 > apache basic 인증 > 프록시 > 내부 웹서버
# 설치
sudo apt install apache2-utils
# 계정추가
htpasswd -c /etc/apache2/.htpasswd test
# VirtualHost 설정, 프록시 패스
<VirtualHost *:80>
ServerName 도메인
ServerSignature Off
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName 도메인
ServerSignature Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
RequestHeader set X_FORWARDED_PROTO 'https'
RequestHeader set X-Forwarded-Ssl on
ProxyPass / http://127.0.0.1:10012/
ProxyPassReverse / http://127.0.0.1:10012/
<Proxy *>
Order deny,allow
Allow from all
Authtype Basic
Authname "Password Required"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Proxy>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# 테스트 결과
sudo service apache2 restart
# ubuntu 웹캠 연결 확인 방법
sudo apt install v4l-utils
# 카메라 번호 확인
ls -ltrh /dev/video*
# 포멧 체크
sudo v4l2-ctl -d /dev/video0 --list-formats-ext
sudo v4l2-ctl -d /dev/video1 --list-formats-ext
# 그룹권한 확인 및 추가
sudo groups 계정명
gpasswd -a 계정명 video
sudo usermod -a -G video 계정명
여기까지 설정이 완료되면 웹캠을 사용할 수 있음
만약 안된다면 재부팅 후 다시 확인.
# 테스트 환경
ubuntu 22.04 LTS
앱코 QHD 웹캠 APC930
# 설치
apt install mariadb-server
# 설정
ubuntu 기준으로 작성.
- 포트변경 방법
vi /etc/mysql/my.cnf
port = 1234
- 접속IP 변경, 타임존 변경
vi /etc/mysql/mariadb.conf.d/50-server.cnf
bind-address = 0.0.0.0
default-time-zone = '+9:00'
- 설정변경 확인
service mariadb restart
netstat -nl | grep 1234
- 초기화 설정 진행
mysql_secure_installation
# 초기설정 SQL
- 접속
mysql -u root -p
- DB 목록 조회
show databases;
- 계정 조회
select host, user, password from mysql.user;
- DB 생성
create database testdb;
- 계정생성
create user 'testuser'@'%' identified by 'qwer1234';
- 패스워드 변경
UPDATE user SET password = password('원하는비밀번호') WHERE user = 'testuser';
- 권한 부여
grant all privileges on testdb.* to 'testuser'@'%';
flush privileges;
- 전역 인코딩 확인
show variables like "%char%";
- 데이터베이스 인코딩 확인
SELECT default_character_set_name, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA WHERE schema_name = "testdb";
- 타임존 확인
SELECT @@GLOBAL.time_zone, @@SESSION.time_zone, @@system_time_zone;
개발계 환경에서 딱히 필요할 것 같지는 않지만 혹시 모르니 메모..
# 설치
apt install clamav
apt install clamav-daemon
# 바이러스 체크
clamscan -r 체크경로 --move=이동경로
move에 설정된 경로에 감염된 파일이 이동 됨
# 바이러스 DB 수동 업데이트 방법
service clamav-freshclam stop
freshclam
service clamav-freshclam start
# Banner 설정
vi /etc/ssh/sshd_config
Banner /etc/issue.net
Banner /etc/issue
Banner /etc/motd
issue.net - 원격접속 배너
issue - 로컬 접속 배너
motd - 로그인 후 배너
# 적용
service sshd restart
배너는 아스키 아트를 사용하여 이쁘게 꾸미면 됩니다.
https://www.asciiart.eu/
적용 예)
# samba 설치
apt install samba
# 설정 변경
vi /etc/samba/smb.conf
[homes]
comment = Home Directories
valid users = %S
browseable = no
read only = no
guest ok = no
writable = yes
create mask = 0644
directory mask = 0755
# 설정 적용
service smbd restart
# 계정 추가
smbpasswd -a test
# 윈도우 네트워크 드라이브 추가
\\192.168.0.2\test