GNU/Linux >> Belajar Linux >  >> Panels >> Panels

Menggunakan Pydio Dalam Instalasi Multiserver ISPConfig 3

Menggunakan Pydio Dalam Instalasi Multiserver ISPConfig 3

Howto ini menunjukkan kepada Anda, bagaimana Anda dapat menggunakan pydio (sebelumnya Ajaxplorer) dalam instalasi multi-server ISPConfig 3 .

Prasyarat

Anda harus mengatur ISPConfig 3 di server Anda. Cara terbaik untuk melakukannya adalah dengan mengikuti tutorial "server sempurna" kami.

Mempersiapkan

Anda harus memutuskan di server mana Anda ingin pydio berada. Ini akan menjadi server tempat pelanggan Anda mengakses antarmuka pydio.
Kami akan menginstal perangkat lunak pydio di web yang baru dibuat.
Dalam cara ini kami menggunakan pengaturan dua server di mana yang pertama (master) server adalah server1.mydomain.com dengan ip 192.168.10.10 dan server (slave) kedua adalah server2.mydomain.com dengan ip 192.168.10.11.
Kami akan menginstal pydio ke dalam subdirektori /webftp domain myftpdomain.com kami. yang terletak di server budak.
Harap ganti data ini dengan data dari server Anda.

Buat situs web

Anda dapat melewati ini jika Anda telah membuat situs web atau jika Anda ingin menginstal pydio di sub direktori situs yang ada.

Buat situs web dengan masuk ke ISPConfig sebagai klien atau admin dan buka tab "Situs".

Klik tombol "Tambahkan situs web baru" dan masukkan domain Anda di bidang "Domain". Kemudian klik "Simpan".

Instal pydio

Masuk ke server Anda melalui ssh dan ubah ke jalur situs web.

ssh [email protected]
cd /var/www/myftpdomain.com/web/

Sekarang unduh pydio versi terbaru dari http://pyd.io/download/ atau langsung dari sourceforge. Pada saat penulisan ini, versi 5.2.1 adalah yang terbaru.
Jangan gunakan paket distribusi! Hanya gunakan tar.gz atau zip!

Unduh dan ekstrak paket. Kemudian rename direktori hasil extract tersebut.
Jangan lupa ubah pemilik semua file agar sesuai dengan pemilik website. Dalam kasus kami, ini adalah web2 pengguna dan klien1 grup.

wget -O pydio.tar.gz http://downloads.sourceforge.net/project/ajaxplorer/pydio/stable-channel/5.2.1/pydio-core-5.2.1.tar.gz
tar xzf pydio .tar.gz
mv pydio-core-5.2.1 webftp
rm pydio.tar.gz
chown -R web2:client1 webftp

Buka file webftp/conf/bootstrap_conf.php dan batalkan komentar pada baris ini:

define("AJXP_LOCALE", "en_EN.UTF-8");

Anda mungkin harus mengubah nilainya agar sesuai dengan sistem lokal Anda, mis. g. ubah ke en_US.UTF-8 atau de_DE.UTF-8.

Anda sekarang seharusnya dapat mengakses instalasi pydio di http://myftpdomain.com/webftp/.

Jika Anda mendapatkan beberapa peringatan di sana, periksa teks dan perbaiki jika perlu. Kemudian klik "klik di sini untuk melanjutkan ke Pydio".

Pada halaman selamat datang, klik "Mulai wizard!".

Isi kolom seperti ini:

Akses admin
Login Admin:
Nama Tampilan Admin:
Sandi Admin:

Opsi global
Isi kolom sesuai kebutuhan Anda.

Konfigurasi penyimpanan
Jenis Penyimpanan:Tidak Ada Basis Data (Mulai cepat)

Tambahkan beberapa pengguna
Jangan masukkan apapun disini.

Kemudian klik tombol "Instal pydio sekarang".

Setelah beberapa detik Anda akan diarahkan ke layar login. Masuk dengan pengguna admin dan kata sandi yang Anda masukkan di langkah sebelumnya.

Pada login pertama Anda akan mendapatkan pilihan ruang kerja apa yang akan digunakan. Pilih "File Saya" dan centang kotak "Gunakan ruang kerja ini sebagai default". Kemudian klik "Enter".

Menggunakan Pydio Dalam Instalasi Multiserver ISPConfig 3 - Halaman 2

Di layar beranda, arahkan ke pojok kanan atas dan pilih "Setelan" dari menu tarik-turun.

Kita perlu membuat beberapa pengaturan sekarang. Pada awalnya ruang kerja harus ditambahkan. Buka "Ruang Kerja &Pengguna" -> "Ruang Kerja" dan klik tombol "Ruang Kerja Baru" di bagian atas. Di popup pilih "FTP Server" sebagai Access Driver dan Anda akan mendapatkan jendela seperti ini:

Isi kolom seperti ini:

Label Ruang Kerja:Isi sesuka Anda, saya lebih suka "WebFTP"

Koneksi
Host:localhost
Port:21
Jalur:/
Aman:Tidak
Aktif:Ya

Server FTP Jati
Id Pengguna:1000
Tidak ada lagi yang berubah di sini!

FTP Dinamis
Meneruskan Data FTP melalui driver Auth:Ya

Kredensial Pengguna
Pengguna:biarkan kosong
Sandi:biarkan kosong
Kredensial sesi:Ya

Filesystem Commons
Folder Recycle Bin:kosong(!)
Biarkan sisa bidang apa adanya.

Repository Commons
Hak Default:Baca dan Tulis
Alias:ISPConfigFTP
Biarkan kolom lainnya apa adanya.

Setelah Anda mengklik tombol "Next" di sudut kanan bawah, Anda akan mendapatkan sesuatu seperti ini:

Konfigurasi lebih lanjut

Buka "Konfigurasi Global" -> "Plugin Fitur" -> "Akses"

Klik dua kali pada entri "Dasbor Pengguna" dan setel opsi "Tersedia" ke "Tidak" dan klik "Simpan" di sudut kanan atas.

Sekarang logout dari panel admin (pojok kanan atas) dan Anda akan diarahkan ke layar login.

Ubah kode untuk mengakses ISPConfig

Kita harus mengubah beberapa file kode pydio sehingga menggunakan api jarak jauh dari ISPConfig. Pertama, kita memerlukan pengaturan penggunaan jarak jauh di ISPConfig.

Masuk ke ISPConfig sebagai admin dan klik pada tab "Sistem" dan pada "Pengguna Jarak Jauh". Klik tombol "Tambahkan pengguna baru".

Masukkan nama pengguna dan kata sandi untuk pengguna jarak jauh dan centang kotak yang bertuliskan "Fungsi server" dan "Fungsi Pengguna FTP Situs". Kemudian klik "Simpan".

Menggunakan Pydio Dalam Instalasi Multiserver ISPConfig 3 - Halaman 3

Sekarang (kembali) buka konsol ssh server dan navigasikan ke folder webftp yang Anda buat selama instalasi pydio.

Edit conf/bootstrap_repositories.php

/*
 * Copyright 2007-2013 Charles du Jeu - Abstrium SAS <team (at) pyd.io>
 * This file is part of Pydio.
 *
 * Pydio is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Pydio is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with Pydio.  If not, see <http://www.gnu.org/licenses/>.
 *
 * The latest code can be found at <http://pyd.io/>.
 *
 * Description : configuration file
 * BASIC REPOSITORY CONFIGURATION.
 * The standard repository will point to the data path (ajaxplorer/data by default), folder "files"
 * Use the GUI to add new repositories.
 *   + Log in as "admin" and open the "Settings" Repository
 */
defined('AJXP_EXEC') or die( 'Access not allowed');

// ADMIN REPOSITORY
$REPOSITORIES["ajxp_conf"] = array(
    "DISPLAY"           =>      "Settings",
    "DISPLAY_ID"                =>      "165",
    "DESCRIPTION_ID"    =>      "506",
    "DRIVER"            =>      "ajxp_conf",
    "DRIVER_OPTIONS"=> array()
);

Buka file plugins/auth.ftp/class.ftpAuthDriver.php dan cari ini (sekitar baris 110):

function setFtpDataCallback($actionName, $httpVars, $fileVars){

Tambahkan fungsi ini ke kelas tepat di bawah fungsi "logoutCallback". Ganti nilainya dengan milik Anda:

       function get_ispc_host($username) {
			// connect to ispc via remoting and read ftp user
			$server = '';
			$login = '<your remote user>';
			$pass = '<your remote user password>';


			$soap_location = 'https://pathtoispconfig:8080/remote/index.php';
			$soap_uri = 'https://pathtoispconfig:8080/remote/';

			$client = new SoapClient(null, array('location' => $soap_location,

			'uri'      => $soap_uri));
			try {
				//* Login to the remote server
				if($session_id = $client->login($login,$pass)) {
				
					$check = $client->sites_ftp_user_server_get($session_id, $username);
					if($check) {
						$server = isset($check['ip_address']) ? $check['ip_address'] : $check['hostname'];
					}
					
					if($client->logout($session_id)) {
					}
				}
			} catch (SoapFault $e) {
			}
			
			return ($server != '' ? $server : 'localhost');
        }

Dalam pencarian file yang sama untuk fungsi "setFTPDataCallback" yang seharusnya tepat di bawah. Tambahkan kode berikut ke awal fungsi sehingga terlihat seperti ini:

    public function setFtpDataCallback($actionName, $httpVars, $fileVars)
    {
               if(isset($httpVars['userid'])) {
                       // get host from ispconfig                      
                       $httpVars['FTP_HOST'] = $this->get_ispc_host($httpVars['userid']);
               }
        $options = array("CHARSET", "FTP_DIRECT", "FTP_HOST", "FTP_PORT", "FTP_SECURE", "PATH");
        $ftpOptions = array();
      [...]
    }

Buka file plugins/access.ftp/class.ftpAccessDriver.php dan tambahkan "return true;" ke awal fungsi "isWriteable":

        public function isWriteable($path, $type="dir"){
               return true;

               $parts = parse_url($path);
               [...]
        }

Buka data/plugins/boot.conf/bootstrap.json dan buat seperti

{
  "core.conf":{
    "USER_CREATE_REPOSITORY":false,
    "SAVE_GUEST_PREFERENCES":false,
    "SKIP_USER_HISTORY":false,
    "USERS_LIST_COMPLETE_LIMIT":"20",
    "USERS_LIST_COMPLETE_MIN_CHARS":"3",
    "USERS_LIST_HIDE_LOGIN":false,
    "ALLOW_CROSSUSERS_SHARING":false,
    "UNIQUE_INSTANCE_CONFIG":{
      "instance_name":"conf.serial",
      "group_switch_value":"conf.serial"
    }
  },
  "core.auth":{
    "ENABLE_USERS":true,
    "CASE_SENSITIVE":true,
    "ALLOW_GUEST_BROWSING":false,
    "PASSWORD_MINLENGTH":"6",
    "SESSION_SET_CREDENTIALS":true,
    "SECURE_LOGIN_FORM":false,
    "MASTER_INSTANCE_CONFIG":{
      "instance_name":"auth.ftp",
      "TRANSMIT_CLEAR_PASS":true,
      "REPOSITORY_ID":"<YOUR_VALUE>",
      "LOGIN_REDIRECT":"",
      "FTP_LOGIN_SCREEN":true,
      "AUTOCREATE_AJXPUSER":false,
      "AJXP_ADMIN_LOGIN":"",
      "group_switch_value":"auth.ftp"
    },
    "MULTI_MODE":{
      "instance_name":"MASTER_SLAVE",
      "group_switch_value":"MASTER_SLAVE"
    },
    "MULTI_USER_BASE_DRIVER":"",
    "SLAVE_INSTANCE_CONFIG":[

    ],
    "SLAVE_INSTANCE_CONFIG_group_switch":""
  }
}

Ganti dengan hash md5 yang Anda temukan di filedata/plugins/conf.serial/aliases.ser .

Buka file plugins/auth.ftp/manifest.xml. Anda harus mengubah beberapa baris di sana.

Sekitar baris 53:
if(el.name !="userid" &&el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){
hapus el.name !="userid" && bagian sehingga terlihat seperti ini:
if(el.name!="password" &&el.name !="get_action" &&el.name!="login_seed"){

Sekitar baris 79:

AJXP_MESSAGE[ftp_auth.1]

tambahkan ini tepat di belakang:

jadi seperti ini:
AJXP_MESSAGE[ftp_auth.1]


(Jika Anda ingin memberikan akses ke direktori dasar alih-alih direktori web, misalnya jika Anda juga ingin mengakses folder "pribadi", cukup ubah "/ web" menjadi "/" di kolom input tersembunyi terakhir.)

Sekitar baris 82:
Hapus tiga baris ini dari file:

AJXP_MESSAGE[ftp_auth.2] AJXP_MESSAGE[ftp_auth.8]  


Sekitar baris 86 (setelah menghapus baris sebelumnya):
Hapus semua 13 baris dari file. Bagian ini dimulai dengan:


AJXP_MESSAGE[ftp_auth.3]

dan diakhiri dengan
AJXP_MESSAGE[ftp_auth.7]


Simpan perubahan Anda.

PENTING! Sekarang Anda harus menghapus cache data:

rm data/cache/*.ser

Sekarang Anda sudah selesai. Setelah Anda memuat ulang layar login pydio Anda di browser, Anda akan diminta dengan layar yang sedikit berbeda dari sebelumnya:



Sekarang Anda dapat login dengan setiap pengguna ftp yang Anda buat di dalam ISPConfig, tidak masalah di server apa pengaturan multi-server Anda berada. Selamat bersenang-senang.


Panels
  1. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  2. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  3. Instalasi VNC Server pada OpenSuse 13.2

  1. Instalasi Server Minimal?

  2. Menggunakan Fail2ban Untuk Memblokir Login ISPConfig yang Salah

  3. Menggunakan log server

  1. Instalasi Server Ubuntu 20.04

  2. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  3. Menginstal Wordpress Di Server yang Menjalankan ISPconfig 2.x