نحوه نصب AirSonic در اوبونتو 18.04 LTS

AirSonic یک سرور پخش کننده رسانه آزاد و منبع باز است. در این آموزش ، من شما را از طریق روند استقرار نمونه سرور AirSonic از ابتدا روی نمونه سرور Ubuntu 18.04 LTS راهنمایی می کنم.

پیش نیازها

  • نمونه سرور جدید Vultr Ubuntu 18.04 LTS با حداقل 2 گیگابایت حافظه. بگویید این آدرس IPv4 دارد 203.0.113.1.
  • کاربران از sudo .
  • دامنه ای airsonic.example.comکه به عنوان مثال سرور ذکر شده در بالا نشان داده می شود.

مرحله 1: پیکربندی اولیه سیستم

یک پرونده مبادله ایجاد کنید

برای به دست آوردن عملکرد بهتر سیستم ، توصیه می شود که یک فایل تعویض 2 گیگابایتی (2048M) را روی دستگاه با حافظه 2 گیگابایتی ایجاد کنید:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

توجه: اگر از یک اندازه سرور متفاوت استفاده می کنید ، ممکن است اندازه مناسب پارتیشن swap متفاوت باشد.

نام میزبان دستگاه و نام دامنه کاملاً واجد شرایط (FQDN) را تنظیم کنید

تنظیم صحیح یک نام میزبان و FQDN برای دستگاه برای فعال کردن امنیت HTTPS با مجوز رمزگذاری SSL لازم است.

دستورات زیر یک نام میزبان airsonicو یک FQDN airsonic.example.comبرای دستگاه تنظیم می کنند:

sudo hostnamectl set-hostname airsonic
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 airsonic.example.com airsonic/g' /etc/hosts

نتایج را می توان با موارد زیر تأیید کرد:

hostname
hostname -f

اصلاح قوانین فایروال به منظور اجازه ورودی SSH، HTTPو HTTPSترافیک

تنظیم قوانین فایروال UFW برای اجرای سرور AirSonic:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

هنگامی که اعلان را می بینید Command may disrupt existing ssh connections. Proceed with operation (y|n)?، ورودی yو سپس را فشار دهید ENTER.

سیستم را به روز کنید

برای اهداف امنیتی و عملکرد ، لازم است سیستم اوبونتو 18.04 LTS را به آخرین وضعیت به روز کنید:

sudo apt update
sudo apt upgrade -y && sudo shutdown -r now

در حین بروزرسانی ، ممکن است مطلع شوید که نسخه نصب شده پرونده پیکربندی grub بصورت محلی اصلاح شده است. از آنجا که ما در واقع وظیفه اصلاح را بر عهده نداریم ، از UPفلش برای برجسته کردن install the package maintainer's versionگزینه استفاده کنید و سپس را فشار دهید ENTER.

پس از راه اندازی مجدد سیستم ، به همان کاربر sudo وارد شوید تا حرکت کند.

مرحله 2: OpenJDK Java Runtime Environment (JRE) 8 را نصب کنید

OpenJDK JRE 8 را نصب کنید و نتایج را تأیید کنید:

sudo apt install -y openjdk-8-jre-headless
java -version

خروجی دستور دوم مشابه موارد زیر است:

openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-0ubuntu0.18.04.1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

علاوه بر این ، شما باید JAVA_HOMEمتغیر محیط را به شرح زیر تنظیم کنید:

echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" | sudo tee -a /etc/profile
source /etc/profile

مرحله 3: نصب AirSonic

AirSonic با استفاده از روشهای مختلف قابل اعزام است. در این آموزش AirSonic را با استفاده از بسته AirSonic WAR نصب خواهیم کرد.

یک کاربر اختصاصی و یک گروه اختصاصی ایجاد کنید airsonic:

sudo groupadd airsonic
sudo mkdir /var/airsonic
sudo useradd -s /bin/nologin -g airsonic -d /var/airsonic -M airsonic

آخرین بسته AirSonic WAR ، AirSonic v10.1.2 را بارگیری کنید:

cd /var/airsonic
sudo wget https://github.com/airsonic/airsonic/releases/download/v10.1.2/airsonic.war
sudo chown -R airsonic:airsonic /var/airsonic

systemdفایلهای واحد از پیش تعریف شده AirSonic را بارگیری کرده و سرویس AirSonic را شروع کنید:

sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
sudo wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/default/airsonic
sudo systemctl daemon-reload
sudo systemctl start airsonic.service
sudo systemctl enable airsonic.service

توجه: شاید لازم باشد دو پرونده systemdواحد AirSonic را در دستگاه خود بررسی و تنظیم کنید.

مرحله 4: نصب را تست کنید

AirSonic اکنون در حال اجرا خواهد بود و در حال گوش دادن به درگاه است 8080. برای تأیید صحت این مورد می توانید از دستور زیر استفاده کنید:

ps -ef|grep airsonic

همچنین می توانید مستقیماً از سایت AirSonic بازدید کنید ، اما ابتدا باید موقتاً قوانین فایروال را اصلاح کنید:

sudo ufw allow in 8080/tcp

بعد ، مرورگر وب مورد علاقه خود را به آن اشاره کنید http://203.0.113.1:8080/airsonicو سپس از اعتبارنامه پیش فرض ذکر شده در زیر برای ورود به سیستم استفاده کنید:

  • نام کاربری: admin
  • کلمه عبور: admin

برای اهداف امنیتی ، باید رمز ورود سرور را بلافاصله پس از ورود به سیستم تغییر دهید.

پس از تأیید نتیجه ، دسترسی 8080دوباره به بندر را محدود کنید:

sudo ufw deny in 8080/tcp

مرحله 5: برای سایت AirSonic خود یک گواهی Letry Encrypt SSL بدست آورید

برای اهداف امنیتی ، توصیه می شود امنیت HTTPS را در هر وب سایت تازه ایجاد شده فعال کنید. راحت ترین عمل برای این کار ، استفاده از گواهی Let Encrypt SSL به شرح زیر است.

برنامه Certbot را نصب کنید:

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:certbot/certbot
sudo apt update
sudo apt install -y certbot

از Certbot برای درخواست گواهی Letry Encrypt SSL برای دامنه استفاده کنید airsonic.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d airsonic.example.com

گواهی و زنجیره به شرح زیر ذخیره می شود:

/etc/letsencrypt/live/airsonic.example.com/fullchain.pem

پرونده اصلی در اینجا ذخیره می شود:

/etc/letsencrypt/live/airsonic.example.com/privkey.pem

گواهینامه Let Encrypt SSL به گونه ای طراحی شده است که طی سه ماه به پایان می رسد. برای تمدید گواهینامه ها می توانید یک کار cron را تنظیم کنید:

sudo crontab -e

هنگامی که از شما خواسته می شود ویرایشگر را انتخاب کنید ، ورودی را انتخاب کرده 2و سپس را فشار دهید ENTERتا انتخاب کنید /usr/bin/vim.basic.

بعد ، Oمطابق شکل زیر خط جدیدی را فشار داده و اضافه کنید:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

ذخیره نموده و خارج شوید:

:wq!

این کار cron تلاش خواهد کرد که گواهی Let Encrypt را هر روز ظهر به روز کنید.

مرحله ششم: Nginx را به عنوان یک پروکسی معکوس نصب کنید

با کمک Nginx ، شما می توانید دسترسی بازدید کنندگان را تسهیل کنید ، (به طوری که دیگر نیازی به وارد کردن 8080شماره پورت نیست) ، و امنیت HTTPS را در وب سایت AirSonic خود فعال کنید.

Nginx را با استفاده از APT نصب کنید:

sudo apt install -y nginx

بعد ، یک فایل پیکربندی برای AirSonic ایجاد کنید:

cat <<EOF | sudo tee /etc/nginx/sites-available/airsonic.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name airsonic.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  airsonic.example.com;
    ssl_certificate      /etc/letsencrypt/live/airsonic.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/airsonic.example.com/privkey.pem;

    # Proxy to the Airsonic server
    location /airsonic {
        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-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:8080;
        proxy_redirect                     http:// https://;
    }
}
EOF

یک پیوند نمادین ایجاد کنید که به فایل پیکربندی AirSonic Nginx تازه ایجاد شده:

sudo ln -s /etc/nginx/sites-available/airsonic.conf /etc/nginx/sites-enabled/

Nginx را دوباره اجرا کنید تا پیکربندی شما به مرحله اجرا برسد:

sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

سرانجام ، مرورگر وب مورد علاقه خود را به سمت شروع http://airsonic.example.com/airsonicیا https://airsonic.example.com/airsonicکاوش در وب سایت AirSonic خود هدایت کنید.



Leave a Comment

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد