Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Wekan adalah papan kanban yang dibina dengan rangka kerja Meteor JavaScript. Ia dianggap sebagai sumber terbuka dan alternatif yang dihoskan sendiri untuk Trello, menyediakan ciri yang hampir sama. Ia membolehkan anda membuat senarai pengurusan "yang perlu dilakukan" berdasarkan kad. Wekan sangat membantu meningkatkan produktiviti ketika bekerja di persekitaran kolaboratif. Wekan mempunyai antara muka web yang responsif sepenuhnya, dan ia diterjemahkan secara aktif dalam banyak bahasa.
Untuk tutorial ini, kami akan gunakan wekan.example.com
sebagai nama domain menunjuk ke arah contoh Vultr. Sila pastikan untuk menggantikan semua kejadian nama domain contoh dengan yang sebenarnya.
Kemas kini sistem asas anda menggunakan panduan Cara Mengemas kini CentOS 7 . Setelah sistem anda diperbaharui, teruskan memasang dependensi.
Wekan hanya menyokong Node.js LTS version 4.8
. Untuk memasang Node.js, kami akan menggunakan pengurus versi nod. Pasang nvm
dengan menjalankan skrip pemasang.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash
Untuk mula menggunakan nvm
, jalankan ini.
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
Sekiranya nvm
berjaya dipasang, anda semestinya dapat memeriksa versinya.
[user@vultr ~]$ nvm --version
0.33.4
Pasang Node.js.
nvm install v4.8
Tetapkan versi lalai Node.js.
nvm use node
Sekiranya Node.js berjaya dipasang, anda semestinya dapat menyemak versinya.
node -v
Anda akan melihat output ini.
[user@vultr ~]$ node -v
v4.8.4
NVM memasang Node.js untuk pengguna semasa sahaja. 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 kini tersedia sebagai /bin/node
.
[user@vultr ~]$ sudo which node
/bin/node
MongoDB adalah pelayan pangkalan data NoSQL sumber terbuka dan bebas. Tidak seperti pangkalan data tradisional yang menggunakan jadual untuk mengatur data mereka, MongoDB berorientasikan dokumen dan menggunakan dokumen seperti JSON tanpa skema. Wekan menggunakan MongoDB untuk menyimpan datanya.
Wekan hanya serasi dengan MongoDB version 3.2
. MongoDB tidak tersedia di YUM
repositori lalai , jadi anda perlu membuat fail repositori baru.
sudo nano /etc/yum.repos.d/mongodb-org-3.2.repo
Isi fail dengan kandungan berikut.
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
Pasang MongoDB.
sudo yum install -y mongodb-org
Mulakan pelayan MongoDB dan aktifkan untuk memulakannya secara automatik.
sudo systemctl start mongod
sudo systemctl enable mongod
Secara lalai, tidak ada pengesahan yang diaktifkan dalam pelayan MongoDB. Mana-mana pengguna yang mempunyai akses ke terminal pelayan akan mempunyai hak penuh pada pemasangan MongoDB. Untuk mengamankan pelayan pangkalan data dan menyekat akses pengguna yang tidak mempunyai hak istimewa, kita perlu mengatur pengesahan pada pelayan.
MongoDB menyediakan mongo
shell, yang digunakan untuk menjalankan pertanyaan pada MongoDB. Tukar ke mongo
shell dengan menaip.
mongo
Buat pengguna MongoDB baru dengan hak root. Anda boleh menggunakan mana-mana nama pengguna pilihan anda. Pastikan untuk mengganti kata laluan .
db.createUser(
{
user: "admin",
pwd: "StrongAdminPassword",
roles: [ { role: "root", db: "admin" } ]
}
)
Anda mesti melihat output berikut.
[user@vultr ~]$ mongo
MongoDB shell version: 3.2.17
connecting to: test
Welcome to the MongoDB shell.
...
2017-09-29T20:42:29.042+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 antara muka perintah MongoDB ke terminal Linux dengan menekan " Ctrl+C
".
Edit fail konfigurasi MongoDB.
sudo nano /etc/mongod.conf
Lampirkan baris berikut di akhir fail.
security:
authorization: enabled
Mulakan semula MongoDB supaya perubahan konfigurasi dapat berlaku.
sudo systemctl restart mongod
Setelah keselamatan diaktifkan, anda boleh menguji apakah ia berfungsi dengan beralih ke shell mongo sekali lagi menggunakan mongo
perintah. Kali ini, jika anda menjalankan pertanyaan, seperti show dbs
untuk menunjukkan senarai pangkalan data, anda akan melihat mesej yang melaporkan kebenaran yang gagal. Keluar ke sudo
pengguna sekali lagi setelah menguji log masuk sebagai pengguna baru yang baru anda buat.
Log masuk sebagai administrator
pengguna yang baru anda buat.
mongo -u admin -p
Berikan kata laluan pengguna untuk log masuk yang berjaya. Buat pengguna baru untuk Wekan
pangkalan data yang akan digunakan untuk menyimpan data Wekan.
use wekan
db.createUser(
{
user: "wekan",
pwd: "StrongPassword",
roles: ["readWrite"]
}
)
Pastikan menukar StrongPassword
dengan kata laluan 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-29T20:52:32.450+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 pautan terbaru ke rilis Wekan di Github kerana rilis baru sangat kerap. Muat turun versi terbaru dari Wekan dari Github menggantikan pautan ke pakej pemasang.
cd ~
wget https://github.com/wekan/wekan/releases/download/v0.41/wekan-0.41.tar.gz
Ekstrak arkib yang dimuat turun ke direktori baru bernama wekan
.
mkdir wekan
tar xzvf wekan-*.tar.gz -C wekan
Pasang Bzip2
, yang diperlukan untuk mengekstrak kebergantungan Node.js.
sudo yum -y install bzip2
Pasang kebergantungan Node.js.
cd wekan/bundle/programs/server && npm install
Pelayan Wekan membaca konfigurasi dari pemboleh ubah persekitaran. Jalankan arahan berikut untuk menetapkan konfigurasi sebagai pemboleh ubah persekitaran.
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 laluan MongoDB untuk wekan
pengguna yang telah anda buat. Juga, kemas kini URL mel mengikut tetapan pelayan SMTP anda. Sekiranya anda tidak menyediakan pelayan mel, anda boleh menukar konfigurasi ini kemudian. Buka firewall untuk membenarkan port 4000
melalui firewall.
sudo firewall-cmd --zone=public --add-port=4000/tcp --permanent
sudo firewall-cmd --reload
Untuk segera memulakan permohonan.
cd ~/wekan/bundle
node main.js
Anda kini boleh mengakses aplikasi dengan pergi ke http://wekan.example.com:4000
. Anda akan melihat antara muka untuk log masuk ke papan kanban Wekan.
Untuk penggunaan produksi, disarankan untuk mengatur proksi terbalik untuk melayani aplikasi di HTTP
port standar dan systemd
layanan untuk mengelola proses aplikasi. Dalam tutorial ini, kami akan menggunakan pelayan web Nginx sebagai proksi terbalik, dijamin dengan SSL percuma Let's Encrypt.
Pasang pelayan web Nginx dan Certbot, yang merupakan aplikasi klien untuk Let's Encrypt CA.
sudo yum -y install certbot nginx
Sebelum anda boleh meminta sijil SSL, anda perlu membenarkan port 80
dan 443
melalui firewall. Certbot akan memeriksa pihak berkuasa domain sebelum mengeluarkan sijil.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
Sekarang kita menjalankan Wekan pada HTTPS
port standard , kita tidak perlu membenarkan port 4000
melalui firewall. Laraskan firewall untuk mengeluarkan port 4000
.
sudo firewall-cmd --zone=public --remove-port=4000/tcp --permanent
sudo firewall-cmd --reload
Catatan: Nama domain yang anda gunakan untuk mendapatkan sijil dari Let's Encrypt CA mesti dihalakan ke arah pelayan. Pelanggan mengesahkan pihak berkuasa domain sebelum mengeluarkan sijil .
Menjana sijil SSL.
sudo certbot certonly --standalone -d wekan.example.com
Sijil yang dihasilkan kemungkinan akan disimpan dalam /etc/letsencrypt/live/wekan.example.com/
direktori. Sijil SSL akan disimpan sebagai fullchain.pem
, dan kunci peribadi akan disimpan sebagai privkey.pem
.
Mari Encrypt sijil tamat dalam 90 hari, jadi disarankan untuk membuat pembaharuan sijil secara automatik menggunakan Cronjob. Cron adalah perkhidmatan sistem yang digunakan untuk menjalankan tugas berkala.
Buka fail kerja cron.
sudo crontab -e
Tambahkan garisan berikut pada akhir fail.
30 5 * * * /usr/bin/certbot renew --quiet
Pekerjaan cron di atas akan dijalankan setiap hari pada jam 5:30 pagi. Sekiranya sijil jatuh tempo, kad kredit akan diperbaharui secara automatik.
Buat tuan rumah maya yang baru.
sudo nano /etc/nginx/conf.d/wekan.example.com.conf
Isi fail dengan yang berikut.
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 sebenar anda dalam konfigurasi di atas.
Restart Nginx supaya perubahan tersebut dapat diterapkan.
sudo systemctl restart nginx
Dayakan Nginx untuk memulakan secara automatik pada waktu boot.
sudo systemctl enable nginx
Buat pengguna baru untuk proses tersebut.
sudo adduser wekan -s /usr/sbin/nologin -d /opt/wekan
Sekarang pindahkan semua fail ke /opt/wekan
direktori.
sudo mv ~/wekan/* /opt/wekan/
Berikan hak milik fail kepada pengguna yang baru dibuat.
sudo chown -R wekan:wekan /opt/wekan
Wekan tidak mengambil data dari sebarang fail konfigurasi. Sebaliknya, ia mengaksesnya dari pemboleh ubah persekitaran. Kami akan membuat fail baru untuk menyimpan pemboleh ubah persekitaran. Fail yang mengandungi pemboleh ubah persekitaran akan diteruskan melalui Systemd
perkhidmatan.
Buat fail baru untuk menyimpan pemboleh ubah persekitaran.
sudo nano /opt/wekan/config.env
Isi fail dengan kandungan 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 menggantikan username
dan password
.
Berikan hak milik kepada wekan
pengguna.
sudo chown -R wekan:wekan /opt/wekan/config.env
Buat fail perkhidmatan baru untuk perkhidmatan Wekan systemd.
sudo nano /etc/systemd/system/wekan.service
Isi fail dengan yang berikut.
[Unit]
Description=Wekan Server
After=syslog.target
After=network.target
[Service]
Type=simple
Restart=on-failure
StartLimitInterval=86400
StartLimitBurst=5
RestartSec=10
ExecStart=/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 fail dan keluar dari editor. Kini anda boleh memulakan Wekan dengan mudah.
sudo systemctl start wekan
Untuk membolehkan Wekan bermula secara automatik pada waktu boot.
sudo systemctl enable wekan
Untuk memeriksa status perkhidmatan Wekan.
sudo systemctl status wekan
Anda kini boleh mengakses instance Wekan di https://wekan.example.com
. Mulakan dengan membuat akaun baru. Setelah membuat akaun, anda boleh mengaktifkan akses pentadbiran kepada pengguna yang baru dibuat. Log masuk ke shell MongoDB sebagai pengguna pentadbiran.
mongo -u wekan -p --authenticationDatabase "wekan"
Sekarang pilih wekan
pangkalan data dan kemas kini objek untuk mempromosikan pengguna menjadi pengguna pentadbir.
use wekan
db.users.update({username:'admin_user'},{$set:{isAdmin:true}})
Pastikan untuk mengganti admin_user
dengan nama pengguna sebenar pengguna yang anda buat. Dari antara muka pentadbir, anda dapat mematikan pendaftaran diri dan mengemas kini tetapan SMTP.
Tahniah, anda berjaya memasang papan Wekan Kanban pada instance Vultr CentOS anda.
Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1
Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.
Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.
Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.
Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.
CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?
Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.
Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!
Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.
Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut