Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Wekan adalah papan kanban yang dibangun dengan kerangka JavaScript Meteor. Ini dianggap sebagai sumber terbuka dan alternatif yang di-host-sendiri untuk Trello, menyediakan fitur yang hampir sama. Ini memungkinkan Anda membuat daftar manajemen "yang harus dilakukan" berdasarkan kartu. Wekan sangat membantu untuk meningkatkan produktivitas ketika bekerja di lingkungan yang kolaboratif. Wekan memiliki antarmuka web yang sepenuhnya responsif, dan diterjemahkan secara aktif dalam banyak bahasa.
Untuk tutorial ini, kita akan menggunakan wekan.example.com
nama domain yang menunjuk ke instance Vultr. Pastikan untuk mengganti semua kemunculan nama domain contoh dengan yang sebenarnya.
Perbarui sistem basis Anda menggunakan panduan Cara Memperbarui Ubuntu 16.04 . Setelah sistem Anda diperbarui, lanjutkan untuk menginstal dependensi.
Wekan hanya mendukung Node.js LTS version 4.8
. Untuk menginstal Node.js, kita akan menggunakan pengelola versi simpul. Instal nvm
dengan menjalankan skrip penginstal.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Untuk segera mulai menggunakan nvm
, jalankan ini.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
Jika nvm
telah menginstal dengan sukses, maka Anda harus dapat memeriksa versinya.
user@vultr:~$ nvm --version
0.33.4
Instal Node.js.
nvm install v4.8
Tetapkan versi default Node.js.
nvm use node
Jika Node.js berhasil diinstal, maka Anda harus dapat memeriksa versinya.
node -v
Anda akan melihat output ini.
user@vultr:~$ node -v
v4.8.4
NVM menginstal Node.js hanya untuk pengguna saat ini. Agar Node.js dapat diakses secara global, jalankan ini.
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr
Node.js sekarang tersedia sebagai /usr/bin/node
.
user@vultr:~$ sudo which node
/usr/bin/node
MongoDB adalah server database NoSQL sumber bebas dan terbuka. Tidak seperti database tradisional yang menggunakan tabel untuk mengatur datanya, MongoDB berorientasi dokumen dan menggunakan dokumen mirip JSON tanpa skema. Wekan menggunakan MongoDB untuk menyimpan datanya.
Wekan hanya kompatibel dengan MongoDB version 3.2
. Buat file repositori baru.
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
Impor kunci GPG MongoDB publik dan perbarui daftar paket.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
sudo apt update
Instal MongoDB.
sudo apt install -y mongodb-org
Mulai MongoDB dan aktifkan untuk memulai secara otomatis.
sudo systemctl start mongod
sudo systemctl enable mongod
Secara default, tidak ada otentikasi yang diaktifkan di server MongoDB. Setiap pengguna yang memiliki akses ke terminal server akan memiliki hak penuh penuh pada instalasi MongoDB. Untuk mengamankan server database dan membatasi akses pengguna yang tidak memiliki hak, kita perlu mengatur otentikasi pada server.
MongoDB menyediakan mongo
shell yang digunakan untuk menjalankan kueri di MongoDB. Beralih ke mongo
shell.
mongo
Buat pengguna MongoDB baru dengan hak akses root. Anda dapat menggunakan nama pengguna apa pun pilihan Anda. Pastikan untuk mengganti kata sandi .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Anda akan melihat output berikut.
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"
}
]
}
Keluar dari antarmuka perintah MongoDB ke terminal Linux dengan menekan " Ctrl+C
".
Edit file konfigurasi MongoDB.
sudo nano /etc/mongod.conf
Tambahkan baris berikut di akhir file.
security:
authorization: enabled
Mulai ulang MongoDB agar perubahan konfigurasi dapat berlaku.
sudo systemctl restart mongod
Sekarang keamanan telah diaktifkan, Anda dapat menguji apakah itu berfungsi dengan beralih ke shell mongo lagi menggunakan mongo
perintah. Kali ini, jika Anda menjalankan kueri, seperti show dbs
untuk menampilkan daftar database, Anda akan melihat pesan yang melaporkan otorisasi yang gagal. Keluar ke sudo
pengguna lagi setelah menguji login sebagai pengguna baru yang baru saja Anda buat.
Masuk sebagai administrator
pengguna yang baru saja Anda buat.
mongo -u admin -p
Berikan kata sandi pengguna untuk login yang berhasil. Buat pengguna baru untuk wekan
basis data yang akan digunakan untuk menyimpan data Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Pastikan untuk mengganti StrongPassword
dengan kata sandi yang kuat. Anda akan melihat output berikut.
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" ] }
Periksa tautan terbaru ke rilis Wekan di Github karena rilis baru sangat sering. Unduh versi terbaru Wekan dari Github menggantikan tautan ke paket pemasang.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.44/wekan-0.44.tar.gz
Ekstrak arsip yang diunduh ke direktori baru bernama wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Instal dependensi Node.js.
cd wekan/bundle/programs/server && npm install
Server Wekan membaca konfigurasi dari variabel lingkungan. Jalankan perintah berikut untuk mengatur konfigurasi sebagai variabel lingkungan.
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
Pastikan untuk mengganti kata sandi MongoDB untuk wekan
pengguna yang telah Anda buat. Juga perbarui URL email sesuai dengan pengaturan server SMTP Anda. Jika Anda tidak memiliki server email yang siap, Anda selalu dapat mengubah konfigurasi ini nanti.
Untuk segera memulai aplikasi.
cd ~/wekan/bundle
node main.js
Anda sekarang dapat mengakses aplikasi dengan masuk ke http://wekan.example.com:4000
. Anda akan melihat antarmuka untuk masuk ke papan kanban Wekan.
Untuk penggunaan produksi, disarankan untuk menyiapkan proxy terbalik untuk melayani aplikasi pada HTTP
port standar dan systemd
layanan untuk mengelola proses aplikasi. Dalam tutorial ini, kita akan menggunakan server web Nginx sebagai proksi terbalik, diamankan dengan Let's Encrypt SSL gratis.
Tambahkan Certbot PPA
repositori ke sistem.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Instal Nginx dan Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo apt -y install certbot nginx
Catatan: Nama domain yang Anda gunakan untuk mendapatkan sertifikat dari Let's Encrypt CA harus diarahkan ke server. Klien memverifikasi otoritas domain sebelum menerbitkan sertifikat .
Buat sertifikat SSL.
sudo certbot certonly --standalone -d wekan.example.com
Sertifikat yang dihasilkan cenderung disimpan di /etc/letsencrypt/live/wekan.example.com/
direktori. Sertifikat SSL akan disimpan sebagai fullchain.pem
, dan kunci pribadi akan disimpan sebagai privkey.pem
.
Mari Enkripsi sertifikat kedaluwarsa dalam 90 hari, jadi disarankan untuk mengatur perpanjangan otomatis sertifikat menggunakan Cronjob. Cron adalah layanan sistem yang digunakan untuk menjalankan tugas-tugas berkala.
Buka file tugas cron.
sudo crontab -e
Tambahkan baris berikut di akhir file.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan berjalan setiap hari pada pukul 5:30 pagi. Jika sertifikat jatuh tempo, sertifikat akan diperpanjang secara otomatis.
Buat host virtual baru.
sudo nano /etc/nginx/sites-available/wekan.example.com.conf
Isi file dengan yang berikut ini.
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;
}
}
Ganti wekan.example.com
dengan nama domain Anda yang sebenarnya dalam konfigurasi di atas.
Aktifkan situs yang baru ditambahkan.
sudo ln -s /etc/nginx/sites-available/wekan.example.com.conf /etc/nginx/sites-enabled/wekan.example.com.conf
Nyalakan kembali Nginx agar perubahan dapat diterapkan.
sudo systemctl restart nginx
Aktifkan Nginx untuk mulai secara otomatis saat boot.
sudo systemctl enable nginx
Buat pengguna baru untuk menjalankan proses.
sudo adduser wekan --shell /usr/sbin/nologin --home /opt/wekan
Sekarang pindahkan semua file ke /opt/wekan
direktori.
sudo mv ~/wekan/* /opt/wekan/
Berikan kepemilikan file kepada pengguna yang baru dibuat.
sudo chown -R wekan:wekan /opt/wekan
Wekan tidak mengambil data dari file konfigurasi apa pun. Sebaliknya, itu mengaksesnya dari variabel lingkungan. Kami akan membuat file baru untuk menyimpan variabel lingkungan. File yang berisi variabel lingkungan akan diteruskan melalui Systemd
layanan.
Buat file baru untuk menyimpan variabel lingkungan.
sudo nano /opt/wekan/config.env
Isi file dengan konten berikut.
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
Pastikan untuk mengganti username
dan password
.
Berikan kepemilikan kepada wekan
pengguna dengan menjalankan.
sudo chown -R wekan:wekan /opt/wekan/config.env
Buat file layanan baru untuk layanan Wekan systemd.
sudo nano /etc/systemd/system/wekan.service
Isi file dengan yang berikut ini.
[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
Simpan file dan keluar dari editor. Sekarang Anda dapat dengan mudah memulai Wekan.
sudo systemctl start wekan
Untuk mengaktifkan Wekan secara otomatis mulai saat boot.
sudo systemctl enable wekan
Untuk memeriksa status layanan Wekan.
sudo systemctl status wekan
Anda sekarang dapat mengakses instance Wekan pada https://wekan.example.com
. Mulailah dengan membuat akun baru. Setelah membuat akun, Anda dapat mengaktifkan akses administratif ke pengguna yang baru dibuat. Masuk ke shell MongoDB sebagai pengguna administratif.
mongo -u wekan -p --authenticationDatabase "wekan"
Sekarang pilih wekan
database dan perbarui objek untuk mempromosikan pengguna ke pengguna admin.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Pastikan untuk mengganti admin_user
dengan nama pengguna sebenarnya dari pengguna yang Anda buat. Dari antarmuka admin, Anda dapat menonaktifkan registrasi mandiri dan memperbarui pengaturan SMTP.
Selamat, Anda telah berhasil menginstal papan Wekan Kanban pada instance Vultr Ubuntu Anda.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.
Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut