نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Apache Zeppelin یک نوت بوک منبع باز و یک ابزار مشترک برای مصرف داده های تعاملی ، کشف ، تجزیه و تحلیل و تجسم است. Zeppelin از 20+ زبان از جمله Apache Spark ، SQL ، R ، Elasticsearch و بسیاری دیگر پشتیبانی می کند. Apache Zeppelin به شما امکان می دهد تا اسناد مبتنی بر داده های زیبا ایجاد کنید و نتایج تجزیه و تحلیل خود را مشاهده کنید.
برای این آموزش ، ما به zeppelin.example.com
عنوان نام دامنه که به سمت نمونه Vultr اشاره شده است ، استفاده خواهیم کرد. لطفاً حتماً تمام وقایع نام دامنه را با نمونه واقعی جایگزین کنید.
سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی CentOS 7 به روز کنید . پس از به روزرسانی سیستم ، جاوا را نصب کنید.
Apache Zeppelin در جاوا نوشته شده است ، بنابراین به JDK نیاز دارد که کار کند. بسته Oracle SE JDK RPM را بارگیری کنید.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.rpm"
بسته بارگیری شده را نصب کنید.
sudo yum -y localinstall jdk-8u151-linux-x64.rpm
اگر جاوا با موفقیت نصب شده است ، باید بتوانید نسخه آن را تأیید کنید.
java -version
خروجی زیر را مشاهده خواهید کرد.
[user@vultr ~]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
قبل از اینکه بتوانیم بیشتر پیش برویم ، باید متغیرهای محیط JAVA_HOME
و JRE_HOME
محیط را تنظیم کنیم. مسیر مطلق JAVA اجرایی را در سیستم خود بیابید.
readlink -f $(which java)
یک خروجی مشابه را خواهید دید.
[user@vultr ~]$ readlink -f $(which java)
/usr/java/jdk1.8.0_151/jre/bin/java
حال متغیرها JAVA_HOME
و JRE_HOME
محیط را مطابق مسیر دایرکتوری جاوا تنظیم کنید.
echo "export JAVA_HOME=/usr/java/jdk1.8.0_151" >> ~/.bash_profile
echo "export JRE_HOME=/usr/java/jdk1.8.0_151/jre" >> ~/.bash_profile
bash_profile
پرونده را اجرا کنید.
source ~/.bash_profile
اکنون می توانید echo $JAVA_HOME
دستور را اجرا کنید تا بررسی کنید متغیر محیط تنظیم شده است یا خیر.
[user@vultr ~]$ echo $JAVA_HOME
/usr/java/jdk1.8.0_151
آپاچی زپلین تمام وابستگی ها را به همراه پرونده های باینری حمل می کند ، بنابراین ما نیازی به نصب چیز دیگری به جز جاوا نداریم. دودویی Zeppelin را روی سیستم خود بارگیری کنید. همیشه می توانید آخرین نسخه برنامه را در صفحه بارگیری Zeppelin پیدا کنید .
wget http://www-us.apache.org/dist/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz
استخراج بایگانی.
sudo tar xf zeppelin-*-bin-all.tgz -C /opt
دستور فوق بایگانی را به استخراج می کند /opt/zeppelin-0.7.3-bin-all
. به خاطر راحتی ، فهرست را تغییر نام دهید.
sudo mv /opt/zeppelin-*-bin-all /opt/zeppelin
اکنون آپاچی زپلین نصب شده است. شما می توانید بلافاصله برنامه را شروع کنید ، اما فقط در اینصورت برای شما قابل دسترسی نخواهد بود localhost
. ما Apache Zeppelin را به عنوان سرویس پیکربندی خواهیم کرد. ما همچنین سرور وب Nginx را به عنوان یک پروکسی معکوس پیکربندی خواهیم کرد.
در این مرحله یک فایل واحد Systemd را برای برنامه Zeppelin تنظیم خواهیم کرد. با این کار اطمینان حاصل می شود که فرآیند برنامه به طور خودکار در راه اندازی مجدد سیستم و خرابی ها شروع می شود.
به دلایل امنیتی ، برای اجرای فرایند Zeppelin یک کاربر غیرقابل استفاده ایجاد کنید.
sudo adduser -d /opt/zeppelin -s /sbin/nologin zeppelin
مالکیت پرونده ها را به کاربر تازه ایجاد Zeppelin ارائه دهید.
sudo chown -R zeppelin:zeppelin /opt/zeppelin
یک فایل واحد خدمات Systemd جدید ایجاد کنید.
sudo nano /etc/systemd/system/zeppelin.service
پرونده را با موارد زیر جمع کنید.
[Unit]
Description=Zeppelin service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/zeppelin/bin/zeppelin-daemon.sh start
ExecStop=/opt/zeppelin/bin/zeppelin-daemon.sh stop
ExecReload=/opt/zeppelin/bin/zeppelin-daemon.sh reload
User=zeppelin
Group=zeppelin
Restart=always
[Install]
WantedBy=multi-user.target
برنامه را شروع کنید.
sudo systemctl start zeppelin
سرویس Zeppelin را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl enable zeppelin
برای بررسی اینکه خدمات در حال اجرا هستند ، می توانید موارد زیر را اجرا کنید.
sudo systemctl status zeppelin
به طور پیش فرض ، سرور Zeppelin به localhost
درگاه گوش می دهد 8080
. در این آموزش از Nginx به عنوان یک پروکسی معکوس استفاده خواهیم کرد تا بتوان از طریق استاندارد HTTP
و HTTPS
درگاه ها به برنامه دسترسی پیدا کرد . ما همچنین Nginx را برای استفاده از SSL ایجاد شده با Letry Encrypt free SSL CA پیکربندی خواهیم کرد.
Nginx را نصب کنید.
sudo yum -y install nginx
Nginx را شروع کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl start nginx
sudo systemctl enable nginx
Certbot را نصب کنید ، که برنامه مشتری برای Let Encrypt CA است.
sudo yum -y install certbot
قبل از اینکه شما می توانید گواهینامه های درخواست، شما نیاز به اجازه پورت 80
و 443
یا استاندارد HTTP
و HTTPS
خدمات از طریق فایروال.
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
توجه : برای به دست آوردن گواهینامه ها از Let Encrypt CA ، دامنه تولید شده برای صدور گواهینامه ها باید به سمت سرور هدایت شود. در این صورت ، تغییرات لازم را در سوابق DNS دامنه ایجاد کرده و منتظر انتشار DNS قبل از درخواست مجوز مجدد باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.
صدور گواهینامه SSL را ایجاد کنید.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d zeppelin.example.com
گواهینامه های تولید شده احتمالاً در آنها ذخیره می شوند /etc/letsencrypt/live/zeppelin.example.com/
. گواهینامه SSL ذخیره می شود fullchain.pem
و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem
.
بیایید مجوزهای رمزگذاری در مدت 90 روز منقضی شوند ، از این رو توصیه می شود با استفاده از مشاغل Cron ، تمدید خودکار گواهینامه ها را تنظیم کنید.
پرونده کار cron را باز کنید.
sudo crontab -e
در انتهای پرونده خط زیر را اضافه کنید.
30 5 * * * /usr/bin/certbot renew --quiet
کار cron فوق هر روز در 5:30 دقیقه صبح انجام می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار آنها را تمدید می کند.
یک فایل بلوک سرور جدید برای سایت Zeppelin ایجاد کنید.
sudo nano /etc/nginx/conf.d/zeppelin.example.com.conf
پرونده را جمع کنید.
upstream zeppelin {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name zeppelin.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name zeppelin.example.com;
ssl_certificate /etc/letsencrypt/live/zeppelin.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/zeppelin.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/zeppelin.access.log;
location / {
proxy_pass http://zeppelin;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
}
location /ws {
proxy_pass http://zeppelin/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 86400;
}
}
Nginx را مجدداً راه اندازی کنید تا تغییرات مؤثر واقع شوند.
sudo systemctl restart nginx zeppelin
Zeppelin هم اکنون در آدرس زیر قابل دسترسی است.
https://zeppelin.example.com
به طور پیش فرض ، هیچگونه تأیید اعتبار وجود ندارد ، بنابراین می توانید مستقیماً از برنامه استفاده کنید.
از آنجا که این برنامه برای همه قابل دسترسی است ، نوت بوک هایی که ایجاد می کنید برای همه نیز قابل دسترسی است. غیرفعال کردن دسترسی ناشناس و فعال کردن تأیید اعتبار بسیار مهم است تا فقط کاربران معتبر بتوانند به برنامه دسترسی پیدا کنند.
برای غیرفعال کردن دسترسی پیش فرض ناشناس ، الگوی ��رونده پیکربندی را در محل زندگی آن کپی کنید.
cd /opt/zeppelin
sudo cp conf/zeppelin-site.xml.template conf/zeppelin-site.xml
پرونده پیکربندی را ویرایش کنید.
sudo nano conf/zeppelin-site.xml
خطوط زیر را در پرونده پیدا کنید.
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
مقدار را false
برای غیرفعال کردن دسترسی ناشناس تغییر دهید.
اکنون که دسترسی ناشناس را غیرفعال کرده ایم ، باید نوعی مکانیزم تأیید اعتبار را فعال کنیم تا کاربران ممتاز بتوانند وارد سیستم شوند. Apache Zeppelin از تأیید هویت Apache Shiro استفاده می کند. پرونده پیکربندی Shiro را کپی کنید.
sudo cp conf/shiro.ini.template conf/shiro.ini
پرونده پیکربندی را ویرایش کنید.
sudo nano conf/shiro.ini
خطوط زیر را در پرونده پیدا کنید.
[users]
admin = password1, admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
این لیست شامل نام کاربری ، رمز عبور و نقش کاربران است. در حال حاضر ، ما فقط استفاده خواهیم کرد admin
و user1
. رمز عبور را تغییر دهید admin
و user1
و غیر فعال کردن کاربران دیگر با اظهار نظر آنها است. همچنین می توانید نام کاربری و نقش کاربران را تغییر دهید. برای کسب اطلاعات بیشتر در مورد کاربران و نقش های Apache Shiro ، راهنمای مجوز Shiro را بخوانید .
پس از تغییر گذرواژهها ، بلاک کد باید به این شکل باشد.
[users]
admin = StrongPassword, admin
user1 = UserPassword, role1, role2
# user2 = password3, role3
# user3 = password4, role2
اکنون Zeppelin را مجدداً راه اندازی کنید تا تغییرات اعمال شود.
sudo systemctl restart zeppelin
باید ببینید که احراز هویت فعال شده است و می توانید با استفاده از نام کاربری و رمزعبور تنظیم شده در پرونده پیکربندی Shiro وارد سیستم شوید.
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد