Konfigurasi server VDS yang benar. Konfigurasi yang benar dari server VDS Data awal untuk konfigurasi




  • tutorial

Selamat siang.

Kebetulan akhir-akhir ini saya harus sering mengganti penyedia VDS, dan setiap kali saya harus mengkonfigurasi ulang sistem, maka saya memutuskan untuk menulis ringkasan singkat tentang konfigurasi. Semua yang dijelaskan di bawah ini berfungsi dengan benar di server Linux Ubuntu 12.04 LTS. Pada artikel ini saya akan menjelaskan cara menginstal dan melakukan setup awal nginx+apache2, eaccelerator, memcached, fure-ftpd, php, mysql, phpmyadmin, serta panel game yang terbuka.

Saya akan mulai dengan penjelasan singkat tentang beberapa istilah.

VDS - juga dikenal sebagai VPS - Server Virtual Dedicated (Private) - mesin virtual, server - diperlukan ketika hosting biasa tidak cukup, dan server khusus mahal. Di pasar modern terdapat berbagai macam penyedia yang menyediakan jasa persewaan VDS, dan masing-masing memiliki kelebihan dan kekurangannya masing-masing, namun kami tidak akan membahasnya.
Jenis virtualisasi - secara sederhana, ini adalah cara mesin virtual diatur. Saat ini, OpenVZ dan XEN adalah yang paling umum. Keuntungan OpenVZ adalah biayanya yang rendah, karena jenis virtualisasi ini menggunakan kernel sistem host yang dimodifikasi khusus untuk semua mesin virtual yang berjalan pada server perangkat keras. Kerugian dari jenis virtualisasi ini adalah tidak mungkin mengubah parameter kernel OS, dan overselling hampir selalu terjadi (lebih lanjut tentang ini nanti). Tetapi untuk proyek yang serius, lebih baik menggunakan virtualisasi XEN atau KVM - di sana OS tamu bahkan tidak tahu bahwa itu diinstal pada mesin virtual, dan Anda dapat melakukan hampir semua keinginan hati Anda dengan OS tersebut, terutama pada XEN-HWM dan KVM.
Overselling - penyedia menjual lebih banyak sumber daya daripada yang sebenarnya mereka miliki. Hal ini terjadi karena klien jarang menggunakan 100 persen sumber daya sesuai tarif, namun penyedia yang tidak bermoral dengan rasio overselling yang meningkat mungkin mengalami masalah, seperti pengoperasian mesin yang sangat lambat atau kegagalan menjalankan skrip karena kekurangan memori. Kembali ke jenis virtualisasi pada XEN dan KVM, overselling secara teknis hampir tidak mungkin dilakukan.

Memilih penyedia hosting

Jadi, Anda telah memutuskan untuk membeli layanan VDS. Bagaimana sebaiknya Anda memilih penyedia? Anda harus mulai dengan geografi - lokasi server Anda secara geografis.

Jerman - kelebihan: tarif murah, saluran cepat, lalu lintas tidak terbatas, kontra - penundaan cukup lama ke Rusia - sekitar 80 ms, mereka menganggap serius pelacak torrent, klien torrent, Varese, dll.
Belanda, Kanada - sama seperti Jerman, tetapi sedikit lebih mahal, tetapi keunggulan utamanya adalah undang-undang yang lebih loyal terhadap berbagai jenis informasi yang disimpan dan dikirimkan, yang tidak membuat kita bingung.
Amerika Serikat - untuk sebagian besar, pertimbangkan lalu lintas, ping besar ke Rusia - secara umum, bukan pilihan terbaik.
Rusia, Ukraina - penundaan minimal untuk audiens Rusia, dalam banyak kasus lalu lintas semu tidak terbatas (pengurangan kecepatan setelah ambang batas tertentu atau kebutuhan untuk mempertahankan proporsi lalu lintas masuk/keluar Rusia/asing), bukan pusat data yang paling andal - di hampir setiap negara secara berkala terjadi pemadaman layanan besar-besaran selama beberapa jam, meskipun terdapat tiga saluran listrik independen, saluran Internet yang berlebihan, dan generator diesel.
Memilih jenis virtualisasi
Jika sumber daya memungkinkan, maka ini pasti KVM atau XEN. Namun tidak semua penyedia menyediakan mesin virtual jenis ini, dan biayanya sedikit lebih mahal dibandingkan OpenVZ. Oleh karena itu, jika proyek Anda adalah situs\dua\sepuluh tertentu dengan lalu lintas rendah (hingga sekitar 10.000 host unik per hari) dan/atau semacam obrolan ICQ, maka OpenVZ sudah cukup untuk Anda.
Nah, jika Anda perlu melakukan tugas yang lebih banyak sumber dayanya, seperti menghosting server game atau obrolan video, lebih baik memilih XEN | KVM, jenis virtualisasi ini juga layak dipilih jika ada kebutuhan untuk membuat terowongan VPN. Lebih mudah memasang VPN di sini dibandingkan di OpenVZ.

Penyetelan Server

Selanjutnya saya akan berbicara tentang berbagai fitur yang saya konfigurasikan di server saya, beberapa mungkin berguna untuk Anda. Sistem operasi yang saya gunakan adalah Ubuntu 12.04.1 LTS. Karena sebagian besar perintah yang dijalankan di bawah ini memerlukan hak akses root, dan saya adalah orang yang malas, saya melakukan semua tindakan di bawah root. Biasanya tidak mungkin untuk masuk secara langsung sebagai root, jadi masuklah sebagai pengguna dengan hak sudo dan jalankan perintah sudo -s

Membangun kembali kernel

Jika Anda memilih OpenVZ, Anda dapat melewati bagian artikel ini dengan aman.
Prosedur ini tidak akan memberikan peningkatan produktivitas yang nyata, dan prosedur ini hanya diperlukan untuk pengembangan diri dan “latihan untuk masa depan”.
unduh sumber kernel versi stabil terbaru dari situs web kernel.org. Saat ini adalah versi 3.6.7
dapatkan http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.6.7.tar.bz2
Membongkar arsip
tar -xjf linux-3.6.7.tar.bz2
Instal paket yang diperlukan untuk kompilasi
aptitude update aptitude install build-dep paket kernel linux
buka folder sumber dan buat konfigurasi kernel. Dalam kasus kami, semuanya akan terjadi secara otomatis - hanya modul-modul yang diperlukan oleh perangkat keras saat ini yang akan disertakan dalam kernel. Jika ingin mengkonfigurasi kernel secara manual, silakan google make config atau make menugonfig.
cd linux-3.6.7 membuat konfigurasi lokal
Kami mulai mengkompilasi kernel - prosesnya tidak cepat, dibutuhkan dari 15 menit hingga beberapa jam.
fakeroot make-kpkg --initrd --append-to-version=-kernel_image kustom kernel_headers
buka direktori dan instal paket
cd .. dpkg -i linux-*.deb
Kami reboot dan memeriksa apakah kernel sudah aktif.
reboot uname -r
Itu saja, sistem Anda memiliki kernel baru.

Mengubah zona waktu dan nama PC

Jika Anda menginstal sendiri Ubuntu pada server khusus, maka Anda mengatur bahasa dan parameter geografis sistem selama instalasi, tetapi dalam kasus VDS, penyedia memiliki image sistem siap pakai, yang diluncurkan ke server Anda. Dan lebih menyenangkan bagi kita semua untuk melihat waktu yang tepat untuk zona waktu kita di server.
Jadi, mari atur zona waktu; untuk melakukan ini, jalankan perintah di konsol
dpkg-konfigurasi ulang tzdata
Antarmuka grafis semu akan muncul di mana kita akan memilih lokasi kita.
Jika tiba-tiba (saya belum pernah melihat ini sebelumnya) ada perbedaan tanggal/waktu, jalankan perintah berikut, di mana kita mengganti tanggal dan waktu saat ini
jam jam --set --date=”24/11/2012 16:19:55"
Untuk mengganti nama server, buka file /etc/hostname dan ganti isinya dengan nama server yang diinginkan.

Instal nginx dengan backend Apache2, PHP, MySQL, phpmyadmin

Di bagian artikel ini, kami akan menginstal dan mengkonfigurasi server web yang dirancang untuk koneksi dalam jumlah besar.

Pertama, mari kita instal kumpulan paket standar "anak-anak" untuk server web.
pembaruan bakat aptitude install mysql-server mysql-client libmysqlclient15-dev apache2 apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-certlibapache2-mod-php5 libapache2-mod-ruby php5 php5-common php5-curl php5-dev php5- gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl phpmyadmin g++
Kita akan diminta untuk mengatur kata sandi MySQL, kemudian mereka akan menanyakan kepada kita bagaimana cara memproses phpmyadmin - kita perlu menjawab di Apache, dan mereka akan meminta kita untuk memasukkan kata sandi MySQL untuk kebutuhan phpmyadmin
Pada saat penulisan, phpmyadmin tidak otomatis terdaftar di konfigurasi Apache2, akibatnya kita melihat kesalahan 404 di site_address.zone/phpmyadmin, jadi kita buka file /etc/apache2/apache2.conf dan tambahkan baris sampai akhir
Sertakan /etc/phpmyadmin/apache.conf
Aktifkan modul Apache2
a2enmod sertakan a2enmod tulis ulang a2enmod suexec a2enmod ssl
Mari kita menggambar konfigurasi default Apache. Untuk melakukan ini, buka /etc/Apache2/sites-available/default, hapus semua yang ada di file ini dan tulis yang berikut:
ServerAdmin@email Anda DocumentRoot /home/www/site_address.zone Pilihan FollowSymLinks AllowOverride All Indeks Opsi FollowSymLinks MultiViews AllowOverride Semua Penolakan pesanan, izinkan penolakan dari semua izinkan dari 127.0.0.0/255.0.0.0::1/128 SkripAlias ​​​​/cgi-bin/ /usr/lib/cgi-bin/ AllowOverride All Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Urutan izinkan, tolak Izinkan dari semua ErrorLog /var/log/Apache2/error.log # Nilai yang mungkin meliputi: debug, info, notice, warning, error, crit, # alert, emerg. LogLevel crit CustomLog /var/log/apache2/access.log digabungkan Alias ​​​​​​/doc/ "/usr/share/doc/" Opsi Indeks MultiView FollowSymLinks AllowOverride Semua Penolakan pesanan, izinkan Tolak dari semua Izinkan dari 127.0.0.0/255.0.0.0::1/128

Fakta bahwa port delapan ratus ditentukan bukanlah kesalahan; nginx akan hang pada port HTTP delapan puluh standar. Untuk alasan yang tidak saya ketahui, kebanyakan orang menyarankan untuk menentukan parameter DocumentRoot /var/www/…, tetapi menurut saya lebih logis untuk menyimpan data penting di /home - akan lebih mudah untuk menyiapkan cadangan.
Edit berkas /etc/apache2/ports.conf
NamaVirtualHost *:800 Dengarkan 800
Salin file /etc/Apache2/sites-available/default ke /etc/Apache2/sites-enabled/site_address
Lebih baik memberi nama direktori dan file dengan konfigurasi berdasarkan alamat situs karena di masa depan ini akan menyederhanakan pencarian konfigurasi\direktori yang diperlukan, misalnya /home/www/tweedle.ru /etc/apache2/sites-enabled/tweedle.ru
Kami mengedit file /etc/apache2/apache2.conf - ubah nilai parameter MaxClients menjadi 20, ini harus dilakukan di dua tempat.
Kami mendaftarkan repositori nginx; untuk melakukan ini, buka file /etc/apt/sources.list dan tambahkan di akhir
deb http://nginx.org/packages/ubuntu/ nginx tepat deb-src http://nginx.org/packages/ubuntu/ nginx tepat
Instal nginx dan apache2-mod-rpaf
wget http://nginx.org/keys/nginx_signing.key apt-key tambahkan nginx_signing.key pembaruan aptitude aptitude install libapache2-mod-rpaf libpcre3 libpcre3-dev nginx
Selanjutnya mari kita konfigurasikan nginx, untuk melakukannya buka file /usr/local/etc/nginx/nginx.conf dan ganti isinya dengan yang berikut ini
pengguna www-data; proses_pekerja 1; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; acara ( koneksi_pekerja 1024; ) http ( sertakan /etc/nginx/mime.types; default_type application/octet-stream; server_names_hash_bucket_size 64; access_log /var/log/nginx/access.log; sendfile aktif; #tcp_nopush aktif; #keepalive_timeout 0 ; keepalive_timeout 65; gzip_proxied apa saja; gzip_http_version 1.0; gzip_comp_level 9; teks rss /javascript; sertakan /etc/nginx/sites-enabled/*;
jika peran server web adalah peran utama server Anda dan/atau situs memiliki lalu lintas tinggi, nilai proses_pekerja ditetapkan sama dengan jumlah inti CPU yang tersedia, jika tidak, satu proses saja sudah cukup
buat konfigurasi untuk situs kami /etc/nginx/sites-enabled/site_address.zone
server ( dengarkan 80; server_name site_address.zone; access_log /var/log/nginx.access_log; lokasi ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls| exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|xml|docx|xlsx|mp3|bsp)$ ( root /home/www/site_address.zone/; indeks indeks.indeks php .html index.htm; access_log off; kedaluwarsa 30 hari; ) lokasi ~ /\.ht ( tolak semua; ) lokasi / ( proxy_pass http://127.0.0.1:800/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X -Diteruskan-untuk $remote_addr; proxy_connect_timeout 60; proxy_read_timeout 90; proxy_pass_header Tipe Konten;
instal memcached, tidak diperlukan pengaturan tambahan untuk itu
aptitude install memcache
instal eAccelerator
aptitude install php5-dev aptitude install buat cd /tmp/ wget https://github.com/downloads/eaccelerator/eaccelerator/eaccelerator-0.9.6.1.tar.bz2 tar xvjf eaccelerator-0.9.6.1.tar.bz2 cd eaccelerator- 0.9.6.1
Sekarang, sebelum kita mengkompilasi eAccelerator, kita akan memperbaiki satu bug pada kodenya, yang menyebabkan berbagai macam masalah, misalnya otorisasi di phpmyadmin berhenti berfungsi. Buka file eaccelerator.c baris 867. Ganti if (php_check_open_basedir(nama asli TSRMLS_CC)) ( dengan if (php_check_open_basedir(p->nama file asli TSRMLS_CC)) ( Simpan dan lanjutkan...
phpize ./configure --enable-eaccelerator=dibagikan make make install

Buat folder untuk cache dan berikan hak padanya
mkdir -p /var/cache/eaccelerator chmod 0777 /var/cache/eaccelerator
Kami mengkonfigurasi php agar berfungsi dengan eaccelerator; untuk melakukan ini, buka file /etc/php5/Apache2/php.ini dan tambahkan di atas
extension = "eaccelerator.so" eaccelerator.shm_size = "16" eaccelerator.cache_dir = "/var/cache/eaccelerator" eaccelerator.enable = "1" eaccelerator.optimizer = "1" eaccelerator.check_mtime = "1" eaccelerator.debug = "0" eaccelerator.filter = "" eaccelerator.shm_max = "0" eaccelerator.shm_ttl = "0" eaccelerator.shm_prune_period = "0" eaccelerator.shm_only = "0" eaccelerator.compress = "1" eaccelerator.compress_level = " 9" eaccelerator.allowed_admin_path = "/var/www/eaccelerator"
Kami memulai ulang layanan, memastikan bahwa situs tersebut ada di /home/www/site_name
layanan apache2 restart layanan nginx restart layanan memcached restart
Sekarang kami memiliki server web yang cukup cepat yang menggunakan RAM kurang dari 100MB. Todo: Ada satu kekurangannya - phpmyadmin yang tersedia di site_address.zone/phpmyadmin ditampilkan jelek (tanpa gambar), solusi sementara yang bisa saya sarankan adalah membuka phpmyadmin di site_address.zone:800/phpmyadmin

Menginstal server FTP murni-ftpd dengan dukungan MySQL

Server FTP berguna bagi kami untuk transfer informasi yang sederhana, cepat dan nyaman dari server ke server.
Instal pure-ftpd dengan dukungan mysql
bakat menginstal pure-ftpd-mysql
Kami membuat grup untuk pengguna ftp dan pengguna di dalamnya - ini dilakukan agar nantinya lebih nyaman untuk memantau apa yang terjadi di server Anda.
groupadd -g 4001 ftpusers && useradd -u 4001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpusers ftp
Mari kita membuat database di MySQL untuk pure-ftpd. Ini dapat dilakukan melalui phpmyadmin, tetapi dengan copy-paste yang hebat dan hebat, lebih cepat melakukannya di konsol
mysql -u root –p
BUAT DATABASE pureftpd; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* KE "pureftpd"@"localhost" DIIDENTIFIKASI OLEH "pureftpd_password"; HAK ISTIMEWA PENYIMPANAN;
Mari buat tabel di mana akun FTP akan disimpan.
GUNAKAN pureftpd; BUAT TABEL ftpd (Pengguna varchar(16) BUKAN NULL default "", status enum("0","1") BUKAN NULL default "0", Kata sandi varchar(64) BUKAN NULL default "", Uid varchar(11) BUKAN NULL default "-1", Gid varchar(11) BUKAN NULL default "-1", Dir varchar(128) BUKAN NULL default "", ULBandwidth smallint(5) BUKAN NULL default "0", DLBandwidth smallint(5) BUKAN NULL default "0", komentar tinytext BUKAN NULL, ipaccess varchar(15) BUKAN NULL default "*", QuotaSize smallint(5) BUKAN NULL default "0", QuotaFiles int(11) BUKAN NULL default 0, KUNCI UTAMA (Pengguna), Pengguna KUNCI UNIK (Pengguna)) ENGINE=MyISAM; berhenti;

Sekarang mari kita konfigurasikan pure-ftpd; untuk melakukan ini, buka file /etc/pure-ftpd/db/mysql.conf dan buat isinya terlihat seperti ini:
MYSQLSocket /var/run/mysqld/mysqld.sock MYSQLUser pureftpd MYSQLPassword password_for_pureftpd MYSQLDatabase pureftpd MYSQLCrypt md5 MYSQLGetPW PILIH Kata Sandi DARI ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" ATAU ipaccess LIKE "\R ") MYSQLGetUID PILIH Uid DARI ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" ATAU ipaccess SEPERTI "\R") MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status= "1" DAN (ipaccess = "*" ATAU ipaccess SEPERTI "\R") MYSQLGetDir PILIH Dir DARI ftpd WHERE User="\L"AND status="1" DAN (ipaccess = "*" ATAU ipaccess SEPERTI "\R" ) MySQLGetBandwidthUL PILIH ULBandwidth DARI ftpd WHERE User="\L"AND status="1" DAN (ipaccess = "*" ATAU ipaccess SEPERTI "\R") MySQLGetBandwidthDL PILIH DLBandwidth DARI ftpd WHERE User="\L"AND status=" 1" DAN (ipaccess = "*" ATAU ipaccess SEPERTI "\R") MySQLGetQTASZ PILIH QuotaSize DARI ftpd WHERE User="\L"AND status="1" DAN (ipaccess = "*" ATAU ipaccess SEPERTI "\R") MySQLGetQTAFS PILIH QuotaFiles DARI ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" ATAU ipaccess SEPERTI "\R")
Sekarang mari kita pastikan bahwa direktori home pengguna dibuat secara otomatis jika tidak ada
gema "ya" > /etc/pure-ftpd/conf/CreateHomeDir
Perintah berikut akan mencegah pengguna mengakses direktori yang lebih tinggi dari direktori home mereka.
gema "ya" > /etc/pure-ftpd/conf/Chroot Everyone
Dan terakhir, kami akan menonaktifkan pemeriksaan nama host pengguna - ini akan mempercepat proses otorisasi secara signifikan dan sedikit mengurangi jumlah lalu lintas.
gema "ya" > /etc/pure-ftpd/conf/DontResolve
Mulai ulang layanan untuk menerapkan pengaturan
layanan restart murni-ftpd-mysql
Sekarang mari kita buat pengguna www-ftp dengan GID dan UID 4002, direktori home /home/www, batas kecepatan download/upload satu megabyte per detik dan tidak ada batasan pada ruang disk yang terisi. Saya akan memberikan contoh menggunakan baris perintah, Anda juga dapat menggunakan "eksekusi kueri SQL" di phpmyadmin, atau bahkan menggunakan "tambahkan baris" di phpmyadmin - tetapi dalam hal ini Anda tidak boleh melewatkan fakta bahwa kata sandi disimpan di database sebagai hash md5-nya, dan di kolom kata sandi pilih "Fungsi" md5
mysql -u root -p
GUNAKAN pureftpd; MASUKKAN KE `ftpd` (`Pengguna`, `status`, `Kata Sandi`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `komentar`, `ipaccess`, `QuotaSize`, `QuotaFiles`) NILAI ("www-ftp", "1", MD5("password_for_user_www-ftp"), "4002", "4002", "/home/www", "1024", "1024", "Komentar ", "*", "0", "0"); berhenti;
Itu saja, Anda dapat mencoba terhubung ke server FTP Anda di alamat site_address.zone dengan login www-ftp dan kata sandi yang ditentukan.
Jika Anda akan mentransfer data melalui protokol FTP agar tidak jatuh ke tangan yang salah, sebaiknya siapkan enkripsi TLS. Untuk melakukannya, lakukan hal berikut:
gema 1 > /etc/pure-ftpd/conf/TLS mkdir -p /etc/ssl/private/
Instal paket openssl jika belum diinstal dan buat sertifikat.
pembaruan bakat aptitude install openssl openssl req -x509 -nodes -days 3652 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Kami menjawab pertanyaan - data ini akan ditampilkan dalam sertifikat yang dibuat.
Tetapkan hak akses ke sertifikat dan mulai ulang pure-ftpd
chmod 600 /etc/ssl/private/pure-ftpd.pem layanan pure-ftpd-mysql restart
Itu saja. Ingatlah bahwa agar data dapat dienkripsi, Anda harus mengaktifkan enkripsi TLS di sisi klien, dan tidak semua klien FTP mendukungnya.

Pemasangan kompleks manajemen server game – Buka Panel Game

Panel permainan terbuka - juga dikenal sebagai OGP - adalah satu-satunya solusi gratis yang saya temukan yang memungkinkan Anda memantau dan mengelola berbagai server permainan. Pada saat penulisan, lebih dari 50 permainan berbeda didukung dengan server pada platform Windows dan Linux. Termasuk yang populer seperti Counter-Strike (2D, 1.5, 1.6, Source, GO) dan Minecraft (Vanilla, Bukkit)
Kompleks ini terdiri dari dua bagian - antarmuka web tempat pemantauan dan manajemen dilakukan (frontend) dan agen - layanan yang bergantung pada mesin dengan server game dan mengirimkan log ke frontend, dan perintah dari frontend ke server game .
Pertama-tama, daftar di http://www.opengamepanel.org - ini tidak diperlukan untuk instalasi, tetapi di situs tersebut Anda dapat mengunduh modul tambahan (misalnya, sistem penagihan), tema, dan barang lainnya.
Instal paket yang diperlukan
pembaruan aptitude aptitude install libxml-parser-Perl libpath-class-Perl libarchive-any-Perl layar
Jika sistemnya x64, instal tambahan ia32-libs
bakat menginstal ia32-libs
Unduh agen itu sendiri
wget "http://www.opengamepanel.org/downloads/ogp_agent_nightly.tar.gz" -O agent.tar.gz tar xf agent.tar.gz cd agen
Kami menginstal. Perhatian - Saya sebelumnya membuat pengguna di sistem, memasukkannya ke dalam grup root dan sudo, dan membuat direktori home - semua ini diperlukan agar agen dapat bekerja dengan benar.
pesta ./install.sh
Kami akan ditanyai nama pengguna di mana layanan akan dijalankan - kami perlu menunjukkan nama pengguna yang saya bicarakan di paragraf sebelumnya, kata sandinya, direktori tempat file yang dapat dieksekusi akan ditempatkan (/home/nama pengguna/OGP) dan akan diminta memasukkan kunci agen - ini bukan kata sandi pengguna, tetapi kunci kontrol agen, kita akan membutuhkannya nanti, dan kita juga akan diminta untuk menyetujui aturan kebijakan Steam.
Setelah instalasi, masuk dengan pengguna yang dibuat dan jalankan
cd /home/nama pengguna/OGP perl ./ogp_agent.pl --log-stdout
Mereka harus menulis kepada kami bahwa semuanya beres, proses berjalan dan mendengarkan pada port 12679.
Tekan ctrl+c, masuk sebagai root dan daftar - ini diperlukan agar layanan dapat dimulai ketika sistem dimulai
update-rc.d ogp_agent default
Jika ada beberapa server (dedicated atau virtual), maka agen harus diinstal di masing-masing server
Sekarang mari kita instal antarmuka web dari OGP, unduh arsip dan buka kemasannya
wget "http://www.opengamepanel.org/downloads/ogp_web_nightly.tar.gz" -O unggah.tar.gz tar xf unggah.tar.gz
Pindahkan isi folder upload ke folder tempat kita memiliki situs tersebut
Di browser, buka site_address.zone/folder_with_ogp dan pilih bahasa, jika tiba-tiba kita diberitahu bahwa kita tidak memiliki cukup hak untuk membuat file atau folder apa pun, maka kita mengeluarkan hak dengan 777 chmod, untuk melakukan ini, buka folder dengan ogp dan jalankan perintah.
chmod 777 –v –R * Tambahkan tag

Panduan ini menjelaskan proses lengkap pengaturan VPS untuk situs web Anda, di server virtual Anda di Linux, menggunakan Apache, PHP 7, MySQL, phpmyadmin, vsftpd sebagai FTP, dan utilitas kecil lainnya. Semua yang saya temukan di Internet tidak lengkap atau di beberapa tempat tidak sesuai dengan kenyataan modern. Saya memindahkan situs web saya dari shared hosting biasa karena saya mengalami keterbatasan dari sebagian besar hoster.

Jika Anda berencana menjual hosting atau memasang panel kontrol (ISP Manager, cPanel, Plesk, dll.), metode pengaturan ini tidak akan berfungsi. Pengaturan untuk penerapan ini berbeda. PHP7 memiliki sejumlah keunggulan serius dalam kinerja dan optimasi dibandingkan dengan PHP 5. Proyek WordPress saya, misalnya, berjalan jauh lebih cepat. Penting untuk diketahui: jika Anda tidak memiliki CMS terkenal dengan pembaruan terkini, tetapi semacam proyek yang ditulis sendiri yang tidak dioptimalkan untuk PHP7, maka inkonsistensi mungkin terjadi.

Saya menggunakan Ubuntu Server 14.04.4 LTS dalam panduan ini; semua yang dijelaskan di sini juga cocok untuk VPS\VDS pada distribusi mirip Debian lainnya. Diasumsikan Anda memiliki pengetahuan dasar tentang Linux dan mengetahui cara bekerja dengan konsol terminal. Saya akan menjelaskan sebagian dasar-dasarnya, tapi tetap saja.

Menyiapkannya

Jadi, kami memiliki sistem yang baru diinstal pada VPS dan akses melalui SSH. Masuk ke server sebagai root.

1. Mari buat pengguna. Bekerja di bawah akar yang tidak perlu adalah tanda kebodohan.

Tambahkan pengguna pengguna

Di mana pengguna — kami mengubahnya menjadi login Anda di masa mendatang. Kami menjawab pertanyaan dari sistem, membuat kata sandi yang rumit, login Anda akan menjadi yang utama untuk kendali jarak jauh sistem, selanjutnya kami akan memutuskan sambungan root dari terminal jarak jauh untuk alasan keamanan.

2. Tambahkan pengguna yang kita buat ke grup sudo untuk menjalankan perintah dari root:

Mod pengguna -a -G pengguna sudo

Selain itu, tambahkan diri Anda ke grup administrator:

Sudo usermod -aG adm NamaPengguna Anda

3. Keluar dari sistem (logout) dan masuk dengan pengguna yang baru Anda buat di SSH. Mulai sekarang, jika kita perlu menjalankan perintah sebagai root, kita menggunakan operan sudo sebelum operan perintah lainnya (contoh di bawah).

4. Segera setelah Anda mempublikasikan alamat situs web server VPS Anda, segala jenis bot peretasan akan mulai mengetuk port terminal 22 Anda. Oleh karena itu, mari amankan terminal VPS dengan mengubah port dari 22 ke port lain. Sebagai port baru, masukkan nomor apa pun dari 1 hingga 65535. Anda tidak dapat menggunakan port 80, 443, 3306, 22, 21, dan 8080 untuk ini. Port tersebut digunakan untuk layanan VPS kami yang lain.

Sudo nano /etc/ssh/sshd_config

Nano adalah notepad konsol. Anda mungkin sudah familiar dengannya, tapi saya akan mengingatkan Anda tentang kontrol dasar: Ctrl+X - keluar, Ctrl+O - simpan, Ctrl+W - cari, panah - pindahkan kursor.

Kita cari baris “Port 22” pada file yang dibuka, biasanya tepat di atas. Ubah 22 ke port pilihan Anda. Selanjutnya, gunakan tombol PgDn untuk menggulir ke bagian paling bawah file dan menambahkan setiap perintah pada baris baru:

AddressFamily inet PermitRootLogin tanpa pengguna AllowUsers

Perintah pertama membatasi koneksi ke IPv4 saja, menonaktifkan IPv6 yang tidak diperlukan. Yang kedua melarang masuk ke terminal sebagai root. Yang ketiga melarang siapa pun untuk masuk kecuali Anda - gantikan login Anda sebagai ganti pengguna.

Simpan dan tutup, seperti yang saya tunjukkan di atas. Mulai sekarang, semua pengeditan file akan mengikuti skenario ini. Mari kita restart terminal jarak jauh agar pengaturan diterapkan:

Layanan Sudo ssh dimulai ulang

5. Keluar dari terminal dan sambungkan kembali ke server menggunakan port baru.

6. Perbarui sumber aplikasi dan aplikasi itu sendiri:

Sudo pembaruan apt-get && sudo peningkatan apt-get

Kami setuju untuk menginstal pembaruan dengan menekan Y dan Enter.

7. Jika Anda tidak memiliki sistem versi terbaru, sebaiknya perbarui distribusi ke sub-rilis terbaru (langkah opsional):

Sudo apt-get dist-upgrade

8. Kami mempercepat pengoperasian sistem secara keseluruhan - Prelink dan Preload. Prelink diperlukan untuk membuat alamat statis untuk perpustakaan, Preload adalah aplikasi kecil yang memantau file dari aplikasi yang paling sering digunakan, dan memuatnya terlebih dahulu ke dalam memori saat sistem dalam keadaan idle.

sudo apt-get install prelink sudo apt-get install preload

Sudo nano /etc/default/prelink

Nano yang familier akan terbuka, dan di sana ubah baris dari PRELINKING=unknown menjadi PRELINKING=yes. Jangan lupa simpan sebelum ditutup, pasti ingat kan? Langkah selanjutnya adalah menambahkan proses harian ke penjadwal cron:

Sudo /etc/cron.daily/prelink

9. Mari kita selesaikan dengan preset sistem untuk saat ini, instal Apache:

Sudo apt-get install apache2

Juga, mari aktifkan mod_rewrite. Untuk beberapa alasan, ini dinonaktifkan secara default di sebagian besar sistem. Bertanggung jawab untuk menulis ulang link billboard menjadi link pendek yang indah. Penting untuk pengoperasian banyak situs.

Sudo apt-get install server mysql

Instalasi mungkin meminta alamat server Anda; kami menunjukkan localhost jika Anda belum menetapkan domain eksternal. Kami juga mengatur kata sandi database utama, kompleks, huruf dan angka, huruf berbeda. Jika Anda belum dapat menebaknya, izinkan saya mengingatkan Anda bahwa semua login dan kata sandi harus ditulis dan disimpan di tempat yang aman.

Versi terbaru server MySQL dikonfigurasi dengan benar untuk bekerja di lingkungan kami dan hanya menerima permintaan dari localhost. Oleh karena itu, kami tidak masuk ke konfigurasi.

11. Instal php7. Pada saat penulisan, repositori file Ubuntu tidak berisi PHP7, jadi kita perlu menambahkan repositori tidak resmi dan menginstal php7 darinya:

sudo add - apt - repositori ppa : ondrej/php

Di akhir penambahan, ia akan meminta persetujuan akhir Anda, konfirmasi dengan Y dan Enter. Selanjutnya, perbarui daftar aplikasi dan instal yang Anda perlukan:

Sudo apt-get perbarui sudo apt - dapatkan instal php7 . 0 - klik php7 . 0 - libapache2 umum - mod - php7 . 0php7. 0php7. 0 - mysqlphp7. 0 - fpm php7.0-mbstring php7.0-gd php7.0-curl

Kumpulan modul di sini ditentukan secara eksperimental oleh saya. Semua sumber menunjukkan berbeda, di suatu tempat tidak ada mbstring, tetapi diperlukan untuk phpmyadmin, panel admin untuk MySQL. Di suatu tempat curl dan gd tidak ada, tetapi diperlukan untuk captcha dan beberapa plugin CMS. Bagaimanapun, modul tambahan selalu dapat dikirimkan nanti.

12. Mari konfigurasikan Apache. Ayo pergi (cd) ke direktori dengan pengaturan Apache:

CD /etc/Apache2

Mari edit file konfigurasi utama:

Sudo nano apache2.conf

Kami tidak menyentuh variabel yang sudah ditetapkan, kami gulir ke akhir file. Di sana kami menambahkan setiap perintah pada baris baru:

Nama Server localhost ServerSignature Nonaktif

Ini akan menetapkan host default untuk penentuan nasib sendiri Apache (localhost) dan menonaktifkan tampilan versi sistem dan server pada halaman kesalahan. Itu tidak aman. Seperti biasa, simpan dan tutup.

13. Mari kita konfigurasikan PHP.

CD /etc/php/7.0/apache2 sudo nano php.ini

Banyak skrip yang menggunakan tag pembuka pendek dan bukan yang penuh, jadi mari kita aktifkan opsi ini dengan mengganti Off dengan On (mulai dari sini saya menunjukkan bagaimana seharusnya, bukan bagaimana seharusnya):

Short_open_tag = Aktif

Mari kita tingkatkan batasan memori dan pengunduhan file:

Memory_limit = 128M post_max_size = 64M

14. Instal phpmyadmin. Ini adalah panel kontrol grafis untuk database MySQL. Pertama kali saya menginstalnya dari repositori apt, tidak berhasil. Ternyata di repositori ubuntu tidak terdapat phpmyadmin versi terbaru yang mengerti PHP7, karena PHP7 sendiri juga tidak ada di repositori tersebut.

Yang terbaik adalah menginstal di /usr/share:

CD /usr/bagikan

Unduh, pada saat penulisan, versi terbaru 4.6.0:

Sudo wget https://files.phpmyadmin.net/phpMyAdmin/4.6.0/phpMyAdmin-4.6.0-all-linguals.zip

Mari kita instal unzip, Anda memerlukannya:

Sudo apt-get install unzip

Buka zip:

Sudo unzip phpMyAdmin-4.6.0-semua-bahasa.zip

Mari kita ganti nama foldernya:

Sudo mv phpMyAdmin-4.6.0-phpmyadmin semua bahasa

Mari lampirkan haknya:

sudo chmod -R 0755 phpmyadmin

Mari kita edit file konfigurasi Apache agar mengetahui di mana menemukan phpmyadmin kita:

Sudo nano /etc/apache2/sites - tersedia / 000 - default. konf

Setelah “DocumentRoot /var/www/html” tambahkan baris:

Alias ​​/phpmyadmin "/usr/share/phpmyadmin/"< Directory "/usr/share/phpmyadmin/" >Pesan izinkan, tolak Izinkan dari semua Memerlukan semua diberikan

Semuanya sudah siap, mari kita restart Apache:

Layanan Sudo apache2 dimulai ulang

15. Setelah semua manipulasi, halaman pengujian Apache akan terbuka di browser di alamat server Anda, dan phpmyadmin akan tersedia di http://yoursite/phpmyadmin. Login ada root, kata sandi ditentukan saat menginstal MySQL.

16. Mari buat halaman phpinfo untuk memeriksa operasi server:

Cd var/www/html sudo mkdir phpinfo cd phpinfo sudo nano index.php

Rekatkan kode ini ke Nano dan simpan:

Sekarang halaman layanan dengan informasi tentang PHP dan modul yang terhubung akan terbuka di http://situsAnda/phpinfo, misalnya:

Jika semuanya berfungsi dan ditampilkan, sembunyikan phpinfo dengan mengubah nama folder ini menjadi nama yang hanya Anda ketahui:

CD /var/www/html sudo mv phpinfo phpinfo312341

Akses langsung melalui jalur yang diketahui merupakan celah keamanan VPS.

17. Mari kita instal FTP. Kami menggunakan vsftpd:

Sudo apt-get install vsftpd

Mengedit konfigurasi:

Sudo nano /etc/vsftpd.conf

Pastikan pengaturan dalam file ini cocok dengan yang berikut ini. Jika parameter dikomentari dengan #, batalkan komentar dengan menghapus #. Jika parameternya tidak ada, tambahkan secara manual ke akhir file:

Anonymous_enable=Tidak local_enable=YA write_enable=YA

Mari kita mulai ulang FTP:

Layanan Sudo vsftpd dimulai ulang

Setelah ini, Anda dapat masuk ke server melalui FTP menggunakan login dan kata sandi sistem Anda. Dengan konfigurasi ini, Anda akan memiliki akses ke SELURUH sistem operasi. Jika Anda perlu membatasi akses ke folder, cari panduan di Internet.

18. Cadangan. Administrasi VPS Alfa dan Omega. Pencadangan harus dilakukan setidaknya seminggu sekali. Skrip berikut membuat arsip dengan cadangan folder /var/www (tempat situs biasanya berada), /etc, /var/log dan /root. Itu juga mencadangkan semua database MySQL. Skrip harus dijalankan sebagai root dari folder tempat cadangan disimpan. Disarankan juga untuk menambahkan file skrip ke cron. Sebenarnya skripnya:

#!/bin/bash USER=root #database user PASSWORD=password #password BACKUP=/media/Backup #tempat menyimpan backup LOG=/var/log # direktori untuk membersihkan log lama OLD=30 # berapa hari untuk menyimpan backup (yang lebih lama akan dihapus) PREFIX=bekerja # jika ada beberapa server, gunakan awalan yang berbeda untuk menghindari kebingungan DATE=`date "+%Y-%m-%d"` echo "Backup database ke $BACKUP" mkdir $ CADANGAN/$TANGGAL.sql cd $BACKUP/$DATE.sql untuk saya di `mysql -u $USER -p$PASSWORD -e"tampilkan database;" | grep -v informasi_skema | grep -v Basis Data`; lakukan mysqldump -u $USER -p$PASSWORD $i > $DATE-$i.sql; selesai cd .. tar -cjf $BACKUP/$DATE-sql-$PREFIX.tar.bz2 ./$DATE.sql rm -rf ./$DATE.sql echo "Cadangkan file ke $BACKUP" tar -cjf $BACKUP/ $DATE-files-$PREFIX.tar.bz2 \ /var/www/ \ /etc/ \ /var/log/ \ /root/ \ --exclude=$BACKUP echo "Menghapus cadangan dan log lama dari $BACKUP & $ LOG" temukan $LOG -ketik f \(-nama "*.gz" -o -nama "*.1*" \) -exec rm "()" \; temukan $BACKUP -mtime +$OLD -exec rm "()" \;

Harap dicatat bahwa beberapa baris teratas skrip perlu dimodifikasi agar sesuai dengan konfigurasi MySQL Anda.

Katakanlah kita memiliki folder /backup di root dan folder tersebut akan berisi skrip dan salinan cadangannya sendiri. Pergi ke root sistem file:

CD /sudo mkdir cadangan cd cadangan sudo nano start.sh

Dan paste script diatas disana. Simpan dan tetapkan sebagai dapat dieksekusi:

Sudo chmod +x start.sh

Sekarang, dengan perintah:

Sudo ./start.sh

Kami akan memulai proses pencadangan. Untuk situs rata-rata dengan kapasitas VPS rata-rata, ini memerlukan waktu 5-10 menit. Setelah proses selesai, akan ada beberapa arsip dengan salinan cadangan di folder /backup. Seperti yang saya katakan di atas, yang terbaik adalah meletakkan skrip ini di cron. Google bagaimana melakukan ini.

Ini menyelesaikan pengaturan server dasar - kami sekarang memiliki server web yang berfungsi penuh, modern, dan produktif di VPS. Saya tidak menyinggung beberapa masalah kecil terkait pengaturan akses di server web, karena hal ini sering dilakukan oleh admin di virtual hosting biasa, yang akhirnya berpindah ke VPS.

Utilitas yang berguna

Perlu disebutkan beberapa utilitas berguna yang saya gunakan dalam administrasi yang mungkin berguna bagi Anda.

Ini adalah utilitas perintah untuk mengelola WordPress dari konsol terminal Linux. Bisa melakukan banyak hal, backup, copy data di database, menonaktifkan dan mengaktifkan plugin, dan lain sebagainya. Ini sangat berguna jika Anda mengalami konflik plugin, atau Anda membuat kesalahan di suatu tempat dan panel admin situs jatuh. Baca selengkapnya.

Multi-ekor

Sebuah program untuk membaca log dengan keluaran tingkat lanjut. Menampilkan konten file log dan memungkinkan Anda memantau perubahannya secara real time dengan penyorotan sintaksis. Mari lihat.

Analog lengkap dari "Task Manager" dari Windows untuk konsol terminal. Suatu hal yang sangat berguna untuk memantau proses, memori, memuat dan manajemen proses. Tempatkan dengan perintah:

Sudo apt-get install htop

Dan dipanggil (siapa sangka) dengan perintah:

Mari Enkripsi

Layanan gratis untuk menerbitkan sertifikat SSL. Pilihan bagus untuk memindahkan situs Anda ke HTTPS. Lebih lanjut di artikel terpisah saya.

Jasa

Jika semua ini sulit bagi Anda, Anda tidak percaya diri, atau menginginkan dukungan tambahan, maka saya siap melakukan transfer/instalasi proyek Anda ke VDS\VPS atau server khusus. Lebih dari 5 tahun pengalaman dalam mengelola proyek jaringan dan web. Dalam kehidupan nyata, saya bekerja sebagai administrator sistem. Konsultasi awal gratis! Hubungi saya dengan cara yang nyaman bagi Anda melalui bagian ini.

Halo! Dalam tutorial ini, saya akan menunjukkan cara menginstal CMS Joomla pada server VDS/VPS yang dikelola dari panel ISPmanager.

Catatan: Panel ISPmanager adalah produk perangkat lunak yang sangat sukses yang dibuat untuk mengelola server web, menggabungkan manajemen domain, database, dan layanan email dalam satu antarmuka. Dan juga mengelola pengguna dan mengatur sistem hak pengguna multi-level.

Pada artikel ini, instalasi didemonstrasikan menggunakan ISPmanager Lite versi 5.8.

Tahapan install Joomla 3 di VDS/VPS dari ISPmanager

  • 1: Menambahkan domain;
  • 2: Buat basis data;
  • 3: Mengunggah distribusi Joomla ke server;
  • 4: Instalasi Joomla dengan terjemahan.
  • 5: Memeriksa hasil instalasi, otorisasi di panel administrasi.

Langkah 1: Menambahkan domain

Menu tab yang berfungsi terlihat di sebelah kiri. Di bagian atas menu ini terdapat tombol kontrol menu: Anda dapat membuka atau menutupnya, membuat menu favorit dari tab yang paling sering digunakan, semua tab dibagi menjadi beberapa grup, setiap grup memiliki nama yang jelas.

Domain harus ditambahkan pada tab “Domain WWW”, grup “Domain”.

Pada tab yang terbuka, isi semua kolom.

Di foto Anda dapat melihat bahwa server dikonfigurasi dengan kemungkinan perlindungan terhadap serangan DDoS diaktifkan. Hampir tidak masuk akal untuk mengaktifkan perlindungan ini di situs yang tidak berfungsi.

Hasil:Domain WWW telah ditambahkan. Server secara otomatis membuat domain tanpa WWW, yang dapat diperiksa di tab “Domain”.

Catatan: Membuat domain email tidak memengaruhi pengoperasian situs, jadi kami akan meninggalkan topik ini untuk artikel lainnya.

Pada tahap ini, penting untuk memutuskan dan memilih server web HTTP untuk situs tersebut. Penting untuk menggunakan server web Apache. Dalam hal ini, Anda akan dapat menggunakan pengaturan SEO Joomla dan menggunakan file htaccess. untuk mengelola URL situs.

Ada pendapat bahwa untuk CMS Joomla, preferensi dalam memilih server web diberi peringkat sebagai berikut:

  • UNIX\Apache\Fast CGI\eAccelerator (kecepatan tertinggi dipadukan dengan pengoperasian yang mudah).
  • UNIX\Apache\Fast CGI (juga, tetapi lebih mudah diakses).
  • UNIX\Apache\mod_php (pekerjaan tidak nyaman dengan hak CHMOD).
  • UNIX\Apache\CGI (bukan kecepatan maksimum, tetapi mudah digunakan dan kompatibel dengan semua ekstensi Joomla).

Server saya tidak memiliki Fast CGI, jadi saya menggunakan Apache\CGI. Pengaturan server ini memungkinkan Anda untuk mengaktifkan mode kompresi dan mode caching. Mereka diperlukan untuk mempercepat situs. Ayo segera aktifkan mode kompresi (disarankan kompresi level 5) dan aktifkan caching untuk jangka waktu 7 hari.

Butir 2: Membuat database situs Joomla

Basis data di panel ISPmanager dibuat pada tab “Databases”, grup “Tools”. Ada tombol "Buat" di tab.

Pastikan untuk membuat pengguna baru untuk database guna meningkatkan keamanan situs. Jika Anda memiliki beberapa situs dan Anda adalah pengguna root server VDS, Anda dapat mengelola semua database situs Anda dari panel phpmyadmin sekaligus, atau mengelola setiap database situs dengan masuk ke phpmyadmin di bawah login pengguna individu dari basis data ini.

Basis data yang dibuat harus memiliki tiga parameter wajib yang perlu dicatat: nama basis data, nama pengguna basis data, kata sandi akses, dan lokasi basis data di server ini. Biasanya, lokasi server database adalah host lokal. Untuk mengeceknya, Anda dapat melihatnya pada kolom “Server” pada daftar (tabel) database yang dibuat.


kelas="eliadunit">

Butir 3: Mengunggah distribusi Joomla ke server

Pada pelajaran terakhir kita mengunggah Joomla ke FTP menggunakan klien FTP. Di sini, misalnya, kami akan mengunggah distribusi Joomla ke server melalui pengelola file server.

Sayangnya, saya tidak dapat menunjukkan cara kerja pengelola file di server ini, tidak terhubung, tetapi akan ada gambar.

Dengan menggunakan pengelola file server, Anda tidak perlu membongkar distribusi untuk mengunggah folder dan file Joomla ke folder root situs.

  • Buka pengelola file server;
  • Buka folder root situs;
  • Unduh (tombol “Unduh”) arsip zip Joomla;
  • Buka kemasan arsip (tombol “Batalkan Pengarsipan”);
  • Hapus arsip zip (pilih dengan mengklik dan hapus dengan tombol “Hapus”);
  • Memeriksa hak CHMOD ke direktori dan file Joomla. Direktori CHMOD=755, file CHMOD=644.

Butir 3: Instalasi Joomla dengan terjemahan

Instalasi Joomla melalui tiga atau lima jendela instalasi sistem di browser. Tiga jendela tanpa terjemahan, lima jendela dengan terjemahan ke bahasa yang diinginkan. Disini kami akan segera menerjemahkan (melokalkan) ke dalam bahasa Rusia.

Jendela 1: Mengisi data situs

Jendela 2: Memasukkan data database

Jendela 3: Memeriksa konfigurasi server untuk kesesuaian dengan sistem Joomla

Jendela 4: Jalani instalasi, lanjutkan untuk menginstal bahasa

Jendela 5: Memilih bahasa untuk panel situs

Jendela 6: Kami menyelesaikan instalasi dengan menghapus direktori “Instalasi”.

Buka tab “Panel” dan “Situs”. Kami memeriksa terjemahannya.

Menyiapkan server cs di vds, seperti yang lainnya, harus dilakukan dengan cara biasa, seperti yang dilakukan semua administrator saat bekerja dengan server fisik - tidak ada perbedaan mendasar. Satu-satunya hal yang disarankan untuk dilakukan segera setelah instalasi adalah menambahkan server yang baru dibuat ke pemantauan. Untuk melakukan ini, Anda hanya perlu pergi ke "Tools" di ISPmanager ke tab "Layanan", di mana Anda harus menambahkan layanan baru dengan nama "SAMP", nama proses "samp02xsvr", diluncurkan dengan perintah "cd /home/nama pengguna/data/server/; ./samp02Xsvr &". Mode operasi ditandai sebagai “independen”, dan jenis layanan sebagai “tidak diketahui”. Anda juga perlu mencentang kotak “Monitoring” dan “Startup”.

Bagaimana server VDS dikonfigurasi?

Pada titik tertentu dalam pengembangan bisnis atau proyek Internet lainnya, pemiliknya dihadapkan pada kenyataan bahwa hosting tradisional tidak dapat lagi mengatasi tugas yang diberikan - diperlukan server vds virtual. Server virtual pribadi semacam itu memungkinkan untuk memperoleh sumber daya yang diperlukan terlepas dari beban server pada klien, bekerja secara stabil, dan mengimplementasikan semua fungsi yang diperlukan.

Memulai dengan server VDS

Tentu saja, Anda bisa mendapatkan server vds windows Anda sendiri hanya setelah meresmikan hubungan yang sesuai dengan hoster, memilih tarif dan paket layanan, serta membayarnya, jika kerja sama tidak dimulai dengan mode uji. Faktanya, Anda harus membeli server vds, mengunduh semua klien dan sistem yang diperlukan, setelah itu Anda perlu menginstalnya dan mulai mengonfigurasinya dengan benar. Tentu saja, untuk melaksanakan seluruh rangkaian aktivitas ini, penyewa harus memiliki staf administrator dan master web yang berkualifikasi, atau (dan ada peluang seperti itu) memesan layanan dari hoster itu sendiri atau perusahaan IT lain yang bekerja di area ini, yang dapat, tanpa partisipasi langsung Anda, melakukan aktivitas seperti menginstal dan mengkonfigurasi server vds.

Konsep menyiapkan server VDS

Sangat sering, server virtual vds ditawarkan dengan OS yang sudah diinstal sebelumnya, yang sangat menyederhanakan seluruh prosedur, meskipun tidak cocok untuk klien dengan persyaratan sistem tertentu. Semua langkah yang terlibat dalam menyiapkan server vds bermuara pada pengaturan komprehensif semua perangkat lunak yang digunakan, yaitu:

  • sistem manajemen proyek;
  • server basis data;
  • aplikasi yang dibangun berdasarkan bahasa yang diterima secara umum (Perl, php, ruby, python);
  • server surat;
  • sistem kontrol versi;
  • pemberitahuan kegagalan;
  • penerjemah bahasa skrip;
  • server web;
  • sistem cadangan.

Data awal untuk pengaturan

Setelah Anda berhasil membeli server vds, Anda menerima dari penghosting alamat IP server Anda, login administrasi dan kata sandi untuk panel, serta untuk VDS itu sendiri, alamat di mana panel kontrol dapat ditemukan. Pengguna, tergantung pada OS yang dipilih, menerima hak administrator atau root, sehingga konfigurasi penuh dapat dilakukan dengan mengklik ikon "Ke server".

Menyiapkan server windows vds

Jika perlu, prosedur perizinan dan sertifikasi keamanan dikonfirmasi, zona waktu dan nama domain ditentukan, pengaturan yang diperlukan untuk bekerja dengan log dipilih, dan kata sandi pengguna ditentukan. Untuk mengikat domain ke server, Anda harus membuat nama baru di panel kontrol, setelah itu Anda akan memiliki akses ke pengaturan domain. Selanjutnya, menelusuri menu bagian "Pengaturan" di panel kontrol akan memungkinkan Anda untuk sepenuhnya menyesuaikan server VDS agar sesuai dengan kebutuhan Anda.

Manajemen dilakukan menggunakan baris perintah. Untuk tujuan ini, paling mudah menggunakan program gratis Dempul. Tidak memerlukan instalasi: setelah mengunduh dan menjalankan utilitas, Anda dapat langsung terhubung ke VDS melalui SSH dengan memasukkan alamat IP (nomor port default adalah 22) dan mengklik tombol “Buka”. Setelah ini, jendela konsol akan muncul di layar dengan undangan untuk mengotorisasi “login sebagai:”. Masukkan root, tekan "Enter", lalu masukkan kata sandi yang diterima saat memesan layanan dan konfirmasikan kembali tindakan tersebut dengan tombol enter. Sekarang Anda bisa mulai bekerja.

Prosedur pengaturan VDS itu sendiri melibatkan memasukkan perintah teks ke dalam konsol, yang dengannya Anda dapat melakukan hampir semua operasi di server. Di bawah ini adalah urutan tindakan dasar yang harus dilakukan segera setelah memulai mesin virtual, serta instalasi paket perangkat lunak langkah demi langkah diperlukan untuk hosting situs web. Contoh-contoh ini diadaptasi untuk dua keluarga Linux yang paling umum: Debian (yang mencakup, misalnya, Ubuntu yang populer) dan Centos (yang mencakup Centos sendiri, Fedora, dan sejumlah lainnya).

Perhatian! Untuk versi OS Bitrix 6 yang diinstal pada VDS, instalasi LEMP tidak diperlukan!

Pengaturan VDS awal

Pembaruan perangkat lunak

Anda harus mulai menyiapkan VDS dengan pembaruan global. Anda dapat menjalankan pembaruan pada sistem operasi mirip Debian sebagai berikut:

Pembaruan apt-get && peningkatan apt-get

untuk Centos perintahnya berbeda:

Selama proses pembaruan Anda akan ditanya apakah Anda ingin menginstal paket baru. Jawab ya menggunakan tombol Y dan konfirmasikan pilihan Anda dengan menekan “Enter”.

Menambahkan pengguna baru

Sangat tidak disarankan untuk bekerja dengan server dengan akun root - yang terbaik adalah membuat pengguna baru dan memberikan hak yang diperlukan kepadanya. Pada sistem mirip Debian, hal ini dilakukan dengan perintah:

Nama pengguna tambahan

dimana nama pengguna harus diganti dengan nama pengguna yang diinginkan. Setelah menyelesaikannya, Anda akan diminta untuk mengatur kata sandi, dan kemudian diminta untuk mengisi kolom tambahan (ini tidak perlu - Anda dapat membiarkannya kosong).

Saat bekerja dengan Centos, perintah ini juga digunakan:

Nama pengguna tambahan

Namun, kata sandi diatur secara terpisah:

Nama pengguna sandi

Mentransfer hak akses root

Setelah membuat pengguna baru, Anda perlu memberikan hak administrator super kepadanya, jika tidak, Anda tidak akan dapat mengkonfigurasi VDS sepenuhnya. Hal ini dilakukan dengan menambahkan akun yang baru dibuat ke grup yang sesuai. Untuk yang mirip Debian:

Gpasswd - nama pengguna sudo

untuk yang mirip Centos:

Gpasswd -roda nama pengguna

manajemen SSH

Untuk tujuan keamanan, perlu dilakukan sejumlah manipulasi dengan file konfigurasi sshd_config, yang, seperti yang Anda duga, bertanggung jawab untuk mengatur koneksi jarak jauh ke server melalui SSH. Distribusi Linux yang berbeda menggunakan utilitas yang berbeda untuk mengedit, dan karenanya, perintahnya akan sedikit berbeda. Yang mirip Debian menggunakan nano:

Nano /etc/ssh/sshd_config

Untuk menyimpan perubahan yang Anda buat, tekan kombinasi tombol Ctrl+X, lalu Y dan “Enter”. Centos menyertakan editor vi:

Melalui /etc/ssh/sshd_config

Menyimpan informasi dilakukan dengan perintah: x, setelah itu Anda harus menekan "Enter".

Di sshd_config Anda harus menonaktifkan login root dengan mengganti

IzinRootLogin ya

IzinRootLogin no

dan juga mengubah port SSH default dengan mengganti

misalnya pada

Lebih baik memilih nomor port dari kisaran 49152-65535 - ini akan menghindari kemungkinan konflik dengan berbagai layanan Linux. Setelah manipulasi yang dijelaskan, Anda perlu me-restart SSH. Di Debian ini dilakukan seperti ini:

Layanan ssh dimulai ulang

Systemctl memuat ulang sshd

Sekarang Anda perlu menyambung kembali ke server melalui port yang ditetapkan di bawah akun baru, setelah itu Anda dapat melanjutkan pengaturan VDS.

Menginstal dan mengkonfigurasi LEMP

Kebanyakan CMS modern ditulis dalam bahasa pemrograman PHP. Ini berarti bahwa untuk menghosting hampir semua situs web, apa pun jenis dan fungsinya, kita memerlukan LEMP. Singkatan ini merupakan singkatan dari kombinasi server web Nginx yang modern dan sangat cepat, penerjemah php-fpm, dan sistem manajemen basis data MySQL. Prosedur instalasinya cukup sederhana dan tidak memakan banyak waktu.

Menginstal Nginx

Mari kita mulai dengan menginstal Nginx. Dalam distribusi mirip Debian, hal ini dilakukan dalam satu baris:

Sudo apt-get install nginx

setelah itu server akan dimulai secara otomatis.

Di Centos, Anda perlu menambahkan repositori EPEL terlebih dahulu:

Sudo yum install epel-rilis

dan baru setelah itu lakukan instalasi:

Sudo yum instal nginx

Tahap terakhir adalah meluncurkan Nginx:

Sudo systemctl mulai nginx

Menginstal MySQL

Pada sistem operasi mirip Debian, layanan database diinstal dengan perintah:

sudo apt-get install mysql-server mysql-client

Selama proses tersebut, Anda akan diminta untuk mengatur kata sandi administrator MySQL.

Distribusi mirip Centos menggunakan fork MariaDB, bukan MySQL, yang memiliki fungsi yang sama. Setelah menginstalnya:

Sudo yum instal mariadb-server mariadb

Server database harus dimulai dan juga ditambahkan ke daftar startup:

Sudo systemctl mulai mariadb Sudo systemctl aktifkan mariadb

Menyiapkan MySQL

Pengaturan awal server database dilakukan menggunakan skrip khusus yang disertakan dengan perangkat lunak utama:

Sudo mysql_secure_installation

Setelah peluncuran, Anda akan diminta memasukkan kata sandi administrator MySQL yang kami tetapkan pada langkah sebelumnya, dan kemudian akan ditanyai serangkaian pertanyaan, yang harus dijawab dengan tombol Y (ya) dan N (tidak), mengonfirmasi pilihan dengan tombol "Enter":

  • Apakah Anda ingin mengubah kata sandi Anda? (Ubah kata sandi root?) - Tidak (N)
  • Hapus pengguna anonim? (Hapus pengguna anonim?) - Ya (Y)
  • Tolak otorisasi jarak jauh dengan hak pengguna super? (Larang login root dari jarak jauh?) - Ya (Y)
  • Hapus database pengujian? (Hapus database pengujian dan akses ke sana?) - Ya (Y)
  • Muat ulang tabel hak istimewa? (Muat ulang tabel hak istimewa sekarang?) - Ya (Y)

Menambahkan basis data baru

Manajemen basis data dilakukan melalui konsol MySQL. Untuk memasukkannya, Anda harus memasukkan perintah:

Untuk meng-host situs dinamis, Anda perlu membuat database yang mesinnya akan bekerja. Biasanya, database terpisah dan pengguna terpisah yang dapat mengelolanya dibuat untuk setiap proyek. Mari kita buat database sitedb, pengguna site_user, dan kemudian berikan hak pengelolaan sitedb kepada pengguna tersebut (Anda dapat mengganti nama yang disarankan dengan yang lain).

Ini dilakukan sebagai berikut:

Buat basis data:

CRE ATE DATABASE situsdb;

Buat pengguna (bukan kata sandi, masukkan kata sandi unik)

BUAT PENGGUNA site_user@localhost DIIDENTIFIKASI DENGAN "kata sandi";

Kami mentransfer hak pengelolaan sitedb ke pengguna site_user:

MEMBERIKAN SEMUA HAK ISTIMEWA DI sitedb.* KE site_user@localhost DIIDENTIFIKASI DENGAN "kata sandi";

Memperbarui data hak istimewa:

HAK ISTIMEWA PENYIMPANAN;

Ketika semua operasi selesai, keluar dari konsol MySQL:

Menginstal PHP

Langkah penting dalam menyiapkan VDS adalah menginstal dan mengkonfigurasi interpreter PHP. Perintah untuk distribusi Linux berbeda-beda. Instalasi di Debian dilakukan seperti ini:

Sudo apt-get install php5-fpm php5-mysql

Di Centos sedikit berbeda:

Sudo yum instal php php-mysql php-fpm

Konfigurasi PHP

Langkah pertama adalah mengedit file php.ini. Di Debian dan Ubuntu letaknya di sini:

Sudo nano /etc/php5/fpm/php.ini

Pada distribusi mirip Centos - langsung di direktori dll:

Sudo vi /etc/php.ini

Di kedua sistem, Anda harus terlebih dahulu menghapus komentar dan mengubah nilai pada baris berikut:

;cgi.fix_pathinfo=1

Cgi.fix_pathinfo=0

Oleh karena itu, kami telah menutup kerentanan penting yang dapat digunakan oleh penyerang untuk mendapatkan akses tidak sah ke situs. Ini menyelesaikan pengaturan penerjemah di Debian; yang tersisa hanyalah me-restart prosesor PHP:

Layanan Sudo php5-fpm dimulai ulang

Di Centos, Anda juga perlu mengedit file www.conf:

Sudo vi /etc/php-fpm.d/www.conf

Di sini Anda perlu menemukan garisnya

Dengarkan = 127.0.0.1:9000

dan ganti dengan

Dengarkan = /var/run/php-fpm/php-fpm.sock

Kami juga berubah

Dengarkan.pemilik = tidak ada yang mendengarkan.grup = tidak ada

Sudo systemctl mulai php-fpm Sudo systemctl aktifkan php-fpm

Membuat direktori

Sekarang Anda perlu membuat direktori tempat file sumber daya Anda akan ditempatkan. Pada sistem operasi Linux apa pun, hal ini dilakukan dengan perintah berikut:

Sudo mkdir /var/www/sitename.ru/public_html

Dalam contoh ini, nama situs.ru harus diganti dengan nama domain situs. Sedangkan untuk file CMS sebaiknya diupload ke folder public_html. Setelah pengunduhan selesai, Anda harus mentransfer hak kontrol ke server web. Terdapat perbedaan nama yang digunakan untuk menyebut Nginx. Untuk distribusi mirip Debian, perintahnya akan terlihat seperti ini:

Sudo chown -R www-data:www-data /var/www/html/*

Ini berbeda di Centos:

Sudo chown -R nginx:nginx /var/www/html/*

Menambahkan host Nginx baru

Langkah terakhir dalam menyiapkan VDS untuk menghosting situs web adalah menambahkan host virtual Nginx. Kita hanya perlu mengedit defaultnya. Di keluarga Debian, hal ini dilakukan seperti ini:

Sudo nano /etc/nginx/sites-available/default

Sudo vi /etc/nginx/conf.d/default.conf

Setelah membuka file, hapus semua informasi darinya, ganti dengan kode di bawah ini (alih-alih nama situs.ru, gantikan nama situs saat ini), dan simpan hasilnya:

Server ( dengarkan 80; server_name sitename.ru; server_name_in_redirect off; access_log /var/log/nginx/sitename.access_log; error_log /var/log/nginx/sitename.error_log; root /var/www/sitename.ru/public_html; indeks indeks.php indeks.html indeks.htm default.html default.htm lokasi / ( try_files $uri $uri/ /index.php?$args; ) error_page 404 /404.html error_page 500 502 503 504 /50x.html ; lokasi = /50x.html ( root /usr/share/nginx/html; ) lokasi ~ \.php$ ( try_files $uri =404; fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index indeks.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Yang tersisa hanyalah me-restart Nginx. Perintah untuk distribusi Debian:

Layanan Sudo nginx dimulai ulang

Sudo systemctl restart nginx

Sekarang server virtual benar-benar siap dioperasikan, dan Anda dapat mulai bekerja langsung dengan sumber daya web. Langkah selanjutnya tergantung pada CMS yang dipilih.