AI가 랜섬웨어 공격의 증가와 싸울 수 있습니까?
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
Wekan은 Meteor JavaScript 프레임 워크로 구축 된 칸반 보드입니다. 거의 동일한 기능을 제공하는 Trello의 오픈 소스 및 자체 호스팅 대안으로 간주됩니다. 카드 기반의 "할 일"관리 목록을 만들 수 있습니다. Wekan은 협업 환경에서 작업 할 때 생산성을 높이는 데 매우 도움이됩니다. Wekan은 반응이 빠른 웹 인터페이스를 가지고 있으며 많은 언어로 활발하게 번역되어 있습니다.
이 자습서에서는 wekan.example.com
Vultr 인스턴스를 가리키는 도메인 이름으로 사용 합니다. 도메인 이름 예를 모두 실제 이름으로 바꾸십시오.
Ubuntu 16.04 업데이트 방법 안내서를 사용하여 기본 시스템을 업데이트하십시오 . 시스템이 업데이트되면 종속성 설치를 진행하십시오.
Wekan 만 지원합니다 Node.js LTS version 4.8
. Node.js를 설치하기 위해 노드 버전 관리자를 사용합니다. 설치 nvm
관리자 스크립트를 실행하여 설치하십시오.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
즉시 사용을 시작하려면 nvm
이것을 실행하십시오.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm
성공적으로 설치 되면 버전을 확인할 수 있습니다.
user@vultr:~$ nvm --version
0.33.4
Node.js를 설치하십시오.
nvm install v4.8
Node.js의 기본 버전을 설정하십시오.
nvm use node
Node.js가 성공적으로 설치되면 버전을 확인할 수 있습니다.
node -v
이 출력이 표시됩니다.
user@vultr:~$ node -v
v4.8.4
NVM은 현재 사용자에게만 Node.js를 설치합니다. Node.js가 전역 적으로 액세스 가능하도록하려면 이것을 실행하십시오.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js는 이제로 사용할 수 있습니다 /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB는 무료 오픈 소스 NoSQL 데이터베이스 서버입니다. 테이블을 사용하여 데이터를 구성하는 기존 데이터베이스와 달리 MongoDB는 문서 지향적이며 스키마없이 JSON과 유사한 문서를 사용합니다. Wekan은 MongoDB를 사용하여 데이터를 저장합니다.
Wekan은 와만 호환됩니다 MongoDB version 3.2
. 새 저장소 파일을 작성하십시오.
echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list
MongoDB 공개 GPG 키를 가져 와서 패키지 목록을 업데이트하십시오.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
MongoDB를 설치하십시오.
sudo apt install -y mongodb-org
MongoDB를 시작하고 자동으로 시작하십시오.
sudo systemctl start mongod
sudo systemctl enable mongod
기본적으로 MongoDB 서버에는 인증이 활성화되어 있지 않습니다. 서버의 터미널에 액세스 할 수있는 모든 사용자는 MongoDB 설치에 대한 모든 권한을 갖습니다. 데이터베이스 서버를 보호하고 권한이없는 사용자의 액세스를 제한하려면 서버에서 인증을 설정해야합니다.
MongoDB는 MongoDB mongo
에서 쿼리를 실행하는 데 사용되는 쉘을 제공합니다 . mongo
쉘로 전환하십시오 .
mongo
루트 권한으로 새로운 MongoDB 사용자를 작성하십시오. 원하는 모든 사용자 이름을 사용할 수 있습니다. 반드시 비밀번호를 교체하십시오 .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
다음과 같은 결과가 나타납니다.
user@vultr:~$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-30T18:11:40.274+0000 I CONTROL [initandlisten]
> db.createUser(
... {
... user: "admin",
... pwd: "StrongAdminPassword",
... roles: [ { role: "root", db: "admin" } ]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
" Ctrl+C
" 를 눌러 Linux 터미널에 대한 MongoDB 명령 인터페이스를 종료하십시오 .
MongoDB 구성 파일을 편집하십시오.
sudo nano /etc/mongod.conf
파일 끝에 다음 줄을 추가하십시오.
security:
authorization: enabled
구성 변경 사항이 적용되도록 MongoDB를 다시 시작하십시오.
sudo systemctl restart mongod
이제 보안이 활성화되었으므로 mongo
명령을 사용하여 mongo 쉘로 다시 전환하여 보안이 작동하는지 테스트 할 수 있습니다 . 이번에 show dbs
는 데이터베이스 목록 표시 와 같은 쿼리를 실행하면 인증 실패에 대한 메시지보고가 표시됩니다. sudo
방금 만든 새 사용자로 로그인을 테스트 한 후 사용자를 다시 종료 하십시오.
administrator
방금 만든 사용자 로 로그인하십시오 .
mongo -u admin -p
성공적인 로그인을 위해 사용자의 비밀번호를 제공하십시오. wekan
Wekan 데이터를 저장하는 데 사용될 데이터베이스 의 새 사용자를 작성하십시오 .
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
StrongPassword
비밀번호를 강력한 비밀번호 로 교체해야 합니다. 다음과 같은 결과가 나타납니다.
user@vultr:~$ mongo -u admin -p
MongoDB shell version: 3.2.17
Enter password:
connecting to: test
...
2017-09-30T18:13:26.007+0000 I CONTROL [initandlisten]
>
> use wekan
switched to db wekan
> db.createUser(
... {
... user: "wekan",
... pwd: "StrongPassword",
... roles: ["readWrite"]
... }
... )
Successfully added user: { "user" : "wekan", "roles" : [ "readWrite" ] }
새 릴리스가 매우 빈번하므로 Github 의 Wekan 릴리스에 대한 최신 링크를 확인하십시오 . 설치 프로그램 패키지에 대한 링크를 대체하여 Github에서 최신 버전의 Wekan을 다운로드하십시오.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
다운로드 한 아카이브를이라는 새 디렉토리에 추출하십시오 wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Node.js 종속성을 설치하십시오.
cd wekan/bundle/programs/server && npm install
Wekan 서버는 환경 변수에서 구성을 읽습니다. 다음 명령을 실행하여 구성을 환경 변수로 설정하십시오.
export MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
export ROOT_URL='http://wekan.example.com'
export MAIL_URL='smtp://user:[email protected]:25/'
export MAIL_FROM='[email protected]'
export PORT=4000
wekan
작성한 사용자 의 MongoDB 비밀번호를 바꾸십시오 . 또한 SMTP 서버 설정에 따라 메일 URL을 업데이트하십시오. 이메일 서버가 준비되지 않은 경우 언제든지이 구성을 언제든지 변경할 수 있습니다.
즉시 응용 프로그램을 시작합니다.
cd ~/wekan/bundle
node main.js
로 이동하여 애플리케이션에 액세스 할 수 있습니다 http://wekan.example.com:4000
. Wekan 칸반 보드에 로그인하기위한 인터페이스가 표시됩니다.
프로덕션 용도의 경우 표준 HTTP
포트 에서 애플리케이션을 제공하도록 리버스 프록시를 설정 systemd
하고 애플리케이션 프로세스를 관리 하는 서비스를 권장합니다 . 이 튜토리얼에서는 Nginx 웹 서버를 역방향 프록시로 사용하고 무료 SSL 암호화로 보안을 유지합니다.
Certbot PPA
시스템에 저장소를 추가하십시오 .
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Let 's Encrypt CA의 클라이언트 응용 프로그램 인 Nginx 및 Certbot을 설치하십시오.
sudo apt -y install certbot nginx
참고 : Let 's Encrypt CA에서 인증서를 얻는 데 사용하는 도메인 이름은 서버를 가리켜 야합니다. 클라이언트는 인증서를 발행하기 전에 도메인 권한을 확인합니다 .
SSL 인증서를 생성하십시오.
sudo certbot certonly --standalone -d wekan.example.com
생성 된 인증서는 /etc/letsencrypt/live/wekan.example.com/
디렉토리에 저장 될 수 있습니다 . SSL 인증서는로 저장 fullchain.pem
되고 개인 키는로 저장됩니다 privkey.pem
.
인증서 암호화는 90 일 후에 만료되므로 Cronjob을 사용하여 인증서의 자동 갱신을 설정하는 것이 좋습니다. Cron은 정기적 인 작업을 실행하는 데 사용되는 시스템 서비스입니다.
크론 작업 파일을여십시오.
sudo crontab -e
파일 끝에 다음 줄을 추가하십시오.
30 5 * * * /usr/bin/certbot renew --quiet
위의 cron 작업은 매일 오전 5:30에 실행됩니다. 인증서가 만료 예정인 경우 자동으로 갱신됩니다.
새 가상 호스트를 작성하십시오.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
다음을 사용하여 파일을 채우십시오.
upstream wekan {
server 127.0.0.1:4000;
}
server {
listen 80;
listen [::]:80;
server_name wekan.example.com;
location / {
if ($ssl_protocol = "") {
rewrite ^ https://$server_name$request_uri? permanent;
}
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name wekan.example.com;
add_header Strict-Transport-Security "max-age=15768000";
ssl_certificate /etc/letsencrypt/live/wekan.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wekan.example.com/privkey.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
ssl_prefer_server_ciphers on;
ssl_stapling on;
ssl_stapling_verify on;
error_page 497 https://$host:$server_port$request_uri;
location / {
proxy_pass http://wekan;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_send_timeout 86400;
proxy_read_timeout 86400;
}
}
교체 wekan.example.com
위의 구성에서 실제 도메인 이름으로.
새로 추가 된 사이트를 활성화하십시오.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
변경 사항을 적용하려면 Nginx를 다시 시작하십시오.
sudo systemctl restart nginx
부팅시 Nginx가 자동으로 시작되도록합니다.
sudo systemctl enable nginx
프로세스를 실행할 새 사용자를 작성하십시오.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
이제 모든 파일을 /opt/wekan
디렉토리 로 이동하십시오 .
sudo mv ~/wekan/* /opt/wekan/
새로 작성된 사용자에게 파일 소유권을 제공하십시오.
sudo chown -R wekan:wekan /opt/wekan
Wekan은 구성 파일에서 데이터를 가져 오지 않습니다. 대신 환경 변수에서 액세스합니다. 환경 변수를 저장할 새 파일을 만듭니다. 환경 변수가 포함 된 파일이 Systemd
서비스를 통해 전달됩니다 .
환경 변수를 저장할 새 파일을 작성하십시오.
sudo nano /opt/wekan/config.env
다음 내용으로 파일을 채우십시오.
MONGO_URL='mongodb://wekan:[email protected]:27017/wekan?authSource=wekan'
ROOT_URL='http://wekan.example.com'
MAIL_URL='smtp://user:[email protected]:25/'
MAIL_FROM='[email protected]'
PORT=4000
HTTP_FORWARDED_COUNT=1
을 대체 할 수 있는지 확인하십시오 username
하고 password
.
wekan
실행 하여 사용자 에게 소유권을 제공하십시오 .
sudo chown -R wekan:wekan /opt/wekan/config.env
Wekan 시스템 서비스에 대한 새 서비스 파일을 작성하십시오.
sudo nano /etc/systemd/system/wekan.service
다음을 사용하여 파일을 채우십시오.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/usr/bin/node /opt/wekan/bundle/main.js
EnvironmentFile=/opt/wekan/config.env
ExecReload=/bin/kill -USR1 $MAINPID
RestartSec=10
User=wekan
Group=wekan
WorkingDirectory=/opt/wekan
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=Wekan
[Install]
WantedBy=multi-user.target
파일을 저장하고 편집기를 종료하십시오. 이제 Wekan을 쉽게 시작할 수 있습니다.
sudo systemctl start wekan
부팅시 Wekan이 자동으로 시작되도록합니다.
sudo systemctl enable wekan
Wekan 서비스 상태 확인
sudo systemctl status wekan
이제에서 Wekan 인스턴스에 액세스 할 수 있습니다 https://wekan.example.com
. 새 계정을 만들어 시작하십시오. 계정을 만든 후에는 새로 만든 사용자에 대한 관리 액세스를 활성화 할 수 있습니다. 관리 사용자로 MongoDB 쉘에 로그인하십시오.
mongo -u wekan -p --authenticationDatabase "wekan"
이제 wekan
데이터베이스를 선택하고 오브젝트를 업데이트하여 사용자를 관리자로 승격 시키십시오.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
admin_user
생성 한 사용자의 실제 사용자 이름 으로 바꾸십시오 . 관리 인터페이스에서 자체 등록을 비활성화하고 SMTP 설정을 업데이트 할 수 있습니다.
축하합니다. Vultr Ubuntu 인스턴스에 Wekan Kanban 보드를 성공적으로 설치했습니다.
랜섬웨어 공격이 증가하고 있지만 AI가 최신 컴퓨터 바이러스를 처리하는 데 도움이 될 수 있습니까? AI가 답인가? AI boone 또는 bane인지 여기에서 읽으십시오.
오픈 소스이자 무료 운영 체제인 ReactOS가 최신 버전과 함께 제공됩니다. 현대 Windows 사용자의 요구 사항을 충족하고 Microsoft를 무너뜨릴 수 있습니까? 이 구식이지만 더 새로운 OS 환경에 대해 자세히 알아보겠습니다.
Whatsapp은 마침내 Mac 및 Windows 사용자용 데스크톱 앱을 출시했습니다. 이제 Windows 또는 Mac에서 Whatsapp에 쉽게 액세스할 수 있습니다. Windows 8 이상 및 Mac OS 10.9 이상에서 사용 가능
인공 지능이 소규모 회사에서 어떻게 인기를 얻고 있으며 어떻게 인공 지능이 성장할 가능성을 높이고 경쟁자가 우위를 점할 수 있는지 알아보려면 이 기사를 읽으십시오.
최근 Apple은 문제를 해결하기 위해 macOS Catalina 10.15.4 추가 업데이트를 출시했지만 이 업데이트로 인해 Mac 컴퓨터의 브릭킹으로 이어지는 더 많은 문제가 발생하는 것 같습니다. 자세히 알아보려면 이 기사를 읽어보세요.
빅데이터의 13가지 상용 데이터 추출 도구
우리 컴퓨터는 모든 데이터를 저널링 파일 시스템이라고 하는 체계적인 방식으로 저장합니다. 검색을 누르는 즉시 컴퓨터에서 파일을 검색하고 표시할 수 있는 효율적인 방법입니다.https://wethegeek.com/?p=94116&preview=true
과학이 빠른 속도로 발전하고 우리의 많은 노력을 인수함에 따라 설명할 수 없는 특이점에 처할 위험도 높아집니다. 특이점이 우리에게 무엇을 의미할 수 있는지 읽어보십시오.
26가지 빅 데이터 분석 기법에 대한 통찰: 1부
의료 분야의 AI는 지난 수십 년 동안 큰 도약을 했습니다. 따라서 의료 분야에서 AI의 미래는 여전히 나날이 성장하고 있습니다.