μ€ν¬λ¦½νΈλ₯Ό μ€μΉνλ €κ³ νλ©΄ νμ "μ°κ²° μ€ν¨, κ΅¬μ± νμΌμ νμΈνμμμ€"λΌλ λ©μμ§κ° νμλμ§λ§ νμΈλκ³ λͺ¨λ μ μμ λλ€. λμμ£ΌμΈμ. μ κ±°ν΄μΌ νμ΅λλ€.
μλ νμΈμ, λ¬Έμ λ‘ μΈν΄ μ£μ‘ν©λλ€. λλ©μΈμ΄ pop.vps.co.veμ λκΉ?
μ, λ°±μ μλ² μ€ νλμ λλ©μΈ λλ©μΈμ λλ€.
Vesta Web Interfaceλ₯Ό λ€μ μ€μΉν λ€μ
.htaccess νμΌμ μ΄κ³ PHP νλκ·Έ μ΅μ
μ "μΌκΈ°"λ‘ λ³κ²½νλ©΄ μλνκ² μ΅λλ€.
λ¬Έμ λ₯Ό μ§λ¨ν©λλ€.
[ root@example public_html]# bash <(curl -s https://cdgco.github.io/full)
νμ ν¨ν€μ§ νμΈ μ€...
wget λ°κ²¬
νλ₯΄ λ°κ²¬
μμ λ°κ²¬
Vesta Web Interface νλ°νΈμλ μ€μΉ μ€...
Vesta Web Interface λ°±μλ μ€μΉ μ€...
μ€μΉμ μ 체 μΉ μ£Όμλ₯Ό μ
λ ₯νμμμ€: https://example.com
/dev/fd/63: 189ν: /usr/local/vesta/web/vwi/config.php: ν΄λΉ νμΌμ΄λ λλ ν λ¦¬κ° μμ΅λλ€.
μ€μΉ μλ£! μΉμ¬μ΄νΈλ₯Ό μ¨λΌμΈμΌλ‘ λ°©λ¬Ένμ¬ κ΅¬μ±μ μλ£νμμμ€.
μ€ν¬λ¦½νΈλ₯Ό μ€μΉνλ €κ³ ν λ λ°μνλ μ€μμ λλ€. νμ ν΄λΉ νμΌμ μλμΌλ‘ λ§λ€μ΄μΌ ν©λλ€. κ·Έκ²κ³Ό κ΄λ ¨μ΄ μλ€κ³ μκ°νμλκΉ?
μλ¦Ό: μ μλμ§ μμ μΈλ±μ€: 67νμ /home/admin/web/example.com/public_html/includes/includes.phpμ μ¬μ©μ μ΄λ¦
μλ¦Ό: μ μλμ§ μμ μΈλ±μ€: 68νμμ /home/admin/web/example.com/public_html/includes/includes.phpμ λ‘κ·ΈμΈνμ΅λλ€.
κ²½κ³ : array_values()λ 맀κ°λ³μ 1μ΄ λ°°μ΄μΌ κ²μΌλ‘ μμν©λλ€. 41νμ /home/admin/web/example.com/public_html/login.phpμ nullμ΄ μ§μ λμ΄ μμ΅λλ€.
κ·Έκ²μ λμκ² λ³΄μ¬μ£Όλ μ€λ₯μ λλ€
λ‘κ·ΈμΈμ μλνκ³ μλ‘μ΄ μ€λ₯ λ©μμ§κ° μλμ§ νμΈνμμμ€.
λλ μ΄λ―Έ κ·Έκ²μνκ³ μ νν κ°μ μ€λ₯κ° νμλ©λλ€. ν΄λΉ μ€μ κ°μ 1λ‘ μ€μ νμ¬ νμΈνμ§λ§ μ νν κ°μ μ€λ₯κ° λ°μν©λλ€.
μ΄λ¬ν λͺ¨λ λ©μμ§λ μμλλ©° λ‘κ·ΈμΈνλ©΄ μ¬λΌμ§λλ€.
λ€λ₯Έ μ€λ₯κ° μλ€κ³ μκ°ν©λλ€. μ΄λ¬ν μ€λ₯λ λ³κ²½ν νμκ° μμ΅λλ€.
λλ κ³ μ λ κ²½μ°μλ μ 보 μ 곡μ©μΌ λΏμ
λλ€.
λ§μ΅λλ€. μ λ κ°μ λ§μ νμ§λ§ μ΄μν μ μ μΈμ μ μμν λ λ°μ΄ν°κ° μ¬λ°λ₯΄μ§ μκ³ λ§€μΌ μ¬μ©νλ©΄μ λ£μ λ°μ΄ν°μ λν΄ λ§€μ° νμ νλ€κ³ μλ €μ£Όλ κ²μ λλ€.
PHPκ° μ§μ λ MySQL λ°μ΄ν°λ² μ΄μ€μ μ°κ²°ν μ μλ κ² κ°μΌλ―λ‘ λ¨Όμ ν¬νΈκ° μ ννκ³ μ² μ μ€λ₯κ° μλμ§ νμΈνκ³ MySQL ν¬νΈκ° CentOS λλ VestaCPμ μν΄ μ°¨λ¨λμ§ μμλμ§ νμΈν©λλ€.
λλ include/includes.php νμΌμμ $configstyle κ°μ "2"λ‘ λ³κ²½νκ³ μ²¨λΆλ config.json ν νλ¦Ώμ μ¬μ©νμ¬ /tmp ν΄λμ μλ ꡬμ±μ μ λ‘λνμ¬ λ‘컬 κ΅¬μ± λͺ¨λλ₯Ό νμ±νν μ μμ΅λλ€.
μλ νμΈμ μΉκ΅¬, μΆκ° ꡬμ±μ ./tmp ν΄λμ config.jsonμ΄ μ€μΉλμ΄ μμ΄λ μ νν λμΌνκ² μ μ§λ©λλ€.
ν¬νΈκ° 3306μ΄κ³ μ΄λ € μλμ§ νμΈνμμμ€. μ μ¬μ νλ‘λλμ§ μλμ§ μ΄ν΄κ°λμ§ μμ΅λλ€.
μ£μ‘ν©λλ€. λ¬Έμ λ₯Ό μλͺ» μ΄ν΄νμ΅λλ€. μ μ°κ²°ν μ μμ κ² κ°μ΅λλ€.
MySQLμ΄μ§λ§ VestaCP APIμ μ°κ²°ν μ μμ΅λλ€. μ°κ²°ν μ μλμ§ νμΈ
κ·νμ λλ©μΈ. com:8083/api . λΉ ν°μ νμ΄μ§κ° νμλμ΄μΌ ν©λλ€. κ·Έκ²μ΄ ν¨κ³Όκ° μλ€λ©΄
μμ§ μ€λͺ
μ΄ μμΌλ©΄ VestaCP μλ²μμ SSHλ₯Ό μ¬μ©νκ³
'v-generate-api-key' λͺ
λ Ή, μΈμ¦ λ°©λ²μ 'api'λ‘ μ ν
μ°κ²°ν μ μλμ§ νμΈν©λλ€.
νμ§λ§ κ·Έ APIλ₯Ό μ΄λ λΆλΆμ λ°°μΉν©λκΉ? μ νν μ΄λ€ λΌμΈ?
SSH ν°λ―Έλ λ°/λλ λΈλΌμ°μ μμ μ‘μΈμ€ν μ μλμ§ νμΈνμμμ€. NS
μ격 μ¦λͺ
μ MySQL config λλ config.jsonμ λ€μ΄κ°λλ€.
λ² μ€ν λ°©μ κ°.
Vesta λ©μλλ₯Ό APIλ‘ λ³κ²½νμ¬ λ¬Έμ κ° κ³μ λ°μν©λλ€. λΉ νλμ APIλ₯Ό μ λ ₯νκ³ κ·Έλλ‘ μ μ§ν©λλ€.
Vesta λ©μλλ₯Ό APIλ‘ λ³κ²½νμ¬ λ¬Έμ κ° κ³μ λ°μν©λλ€. λΉ νλμ APIλ₯Ό μ λ ₯νκ³ κ·Έλλ‘ μ μ§ν©λλ€.
Vesta λ©μλλ₯Ό APIλ‘ λ³κ²½νμ¬ λ¬Έμ κ° κ³μ λ°μν©λλ€. λΉ νλμ APIλ₯Ό μ λ ₯νκ³ κ·Έλλ‘ μ μ§ν©λλ€.
μλ νμΈμ, μ λ κ°μ λ¬Έμ λ₯Ό κ²ͺκ³ μμ΅λλ€. ν루 μ’ μΌ μ΄ μμ μ μννλ €κ³ νμ΅λλ€. λͺ¨λ κ²μ¬λ₯Ό μλ£νμ§λ§ μ¬μ ν μλ²μ μ°κ²°νμ§ λͺ»νμ΅λλ€. ꡬμ±μ νμΈνμμμ€. μ΄λμμ νμΈν μ μλ λ‘κ·Έκ° μμ΅λκΉ? μ°κ²°μ΄ μ€ν¨ν©λκΉ?
λ€μκ³Ό κ°μ μ€λ₯κ° λ°μν©λλ€.
μλ¦Ό: μ μλμ§ μμ μμΈ: 67νμ /home/user/web/control.holbrookhosting.co.uk/public_html/includes/includes.phpμ μ¬μ©μ μ΄λ¦
$initialusername = base64_decode($_SESSION['μ¬μ©μ μ΄λ¦']);
μλ¦Ό: μ μλμ§ μμ μΈλ±μ€: 68νμμ /home/user/web/control.holbrookhosting.co.uk/public_html/includes/includes.phpμ λ‘κ·ΈμΈνμ΅λλ€.
$loggedin = base64_decode($_SESSION['loggedin']);
κ²½κ³ : array_values()λ 맀κ°λ³μ 1μ΄ λ°°μ΄μΌ κ²μΌλ‘ μμν©λλ€. nullμ 41νμ /home/user/web/control.holbrookhosting.co.uk/public_html/login.phpμ μ§μ λμ΄ μμ΅λλ€.
$serverconnection = array_values(json_decode(curl_exec($curl0), true))[0]['OS'];
ν΄κ²°:
κ²½κ³ : array_values()λ 맀κ°λ³μ 1μ΄ λ°°μ΄μΌ κ²μΌλ‘ μμν©λλ€. nullμ 41νμ /home/user/web/control.holbrookhosting.co.uk/public_html/login.phpμ μ§μ λμ΄ μμ΅λλ€.
κ΅μ²΄νμ¬
$serverconnection = array_values(json_decode(curl_exec($curl0), true))[0]['OS'];
μ ν¨κ»
$serverconnection = is_array(json_decode(curl_exec($curl0), true))? array_values(json_decode(curl_exec($curl0), true))[0]['OS']: array();
@Holbroom ν΄λΉ μ€μ λ³κ²½ν ν μ±κ³΅μ μΌλ‘ λ‘κ·ΈμΈν μ μμ΅λκΉ? ν΄λΉ λΌμΈμ λͺ©μ μ Vesta μλ²μ λν κΈ°λ³Έ νΈμΆμ μννκ³ μ°κ²°ν μ μλ κ²½μ° μ€λ₯λ₯Ό μμ±νλ κ²μ λλ€. λ°λ©΄ μ΄ νΈμ§μ μ°κ²°ν μ μλ κ²½μ° νΈμΆμ΄ μ€ν¨νλ κ²μ λ°©μ§ν©λλ€.
νμΈν μ μλ λ‘κ·Έ μ€ νλλ Vesta μΈμ¦ λ‘κ·Έ(/usr/local/vesta/log/auth.log)λ‘, λͺ¨λ νμ΄μ§ λ‘λμ λν΄ μ μ΄λ²€νΈλ₯Ό νμνκ³ μΈμ¦/μ격 μ¦λͺ λ¬Έμ λ₯Ό νμν΄μΌ ν©λλ€.
μλ
νμΈμ,
λΆννλ μμ μ λ³ μ°¨μ΄κ° μμμ§λ§ νμ΄μ§λ₯Ό λ°©λ¬Ένμ¬ μμ€λ₯Ό 보면 μ¬λ¬ μ€λ₯λ₯Ό λ³Ό μ μμΌλ©° 무μμ΄ μλͺ»λμλμ§ μμ§ν μ μ μμ΅λλ€.
https://control.holbrookhosting.co.uk
μλ μ€μΉλ₯Ό 3λ² μννμ΅λλ€. νμ λλ©μΈμμ ν λ², κΈ°λ³Έ λλ©μΈμ λλ ν 리μμ λ λ², νμ κ°μ λ¬Έμ κ° λ°μνμ΅λλ€. μ΄μνκ²λ μλ μ€μΉλ₯Ό μ€νν λ λ€μκ³Ό κ°μ κ²°κ³Όκ° λνλ©λλ€.
μ€λ₯: VWIλ Debian, Ubuntu, CentOS λλ RHELμλ§ μ€μΉν μ μμ΅λλ€. μ’ λ£ μ€...\n
νμ§λ§ λλ centosλ₯Ό μ€ννκ³ μμ΅λλ€.
CentOS λ¦΄λ¦¬μ€ 6.10(μ΅μ’ )
@Holbroom κ° λͺ λ Ήμ μ€νν λ€μ μΆλ ₯μ λΆμ¬λ£μΌμΈμ.
source /etc/os-release | echo $NAME
lsb_release -si
source /etc/lsb-release | echo $DISTRIB_ID
λ€μμ μ€μΉ νλ‘κ·Έλ¨μ΄ OSλ₯Ό κ²°μ νλ λ° μ¬μ©νλ λͺ λ Ήμ΄μ§λ§ μ€μΉ νλ‘κ·Έλ¨μ μ² μκ° μλͺ»λμκ±°λ λλ½λ νλͺ©μ΄ μμ΄μΌ ν©λλ€.
νΉν λ΄ μ¬μ©μμ κ±°μ μ λ°μ΄ CentOSλ₯Ό μ¬μ©νκ³ μ΄μ μ μ΄ λ¬Έμ μ λν΄ λ€μ΄λ³Έ μ μ΄ μλ€λ μ μ κ³ λ €νλ©΄ μ΄μν©λλ€.
λν /home/user/web/control.holbrookhosting.co.uk/public_html/ ν΄λμ λ€μ μ½λλ₯Ό μ¬μ©νμ¬ test.php
λΌλ νμΌμ λ§λ€μ΄ curl λͺ
λ Ήκ³Ό μλ²μ μμ μΆλ ₯μ λ³Ό μ μμ΅λλ€. μ°κ²°.
<?php
session_start(); $configlocation = "includes/"; require('includes/includes.php');
$postvars = array(
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-info','arg1' => 'json'),
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-config','arg1' => 'json'));
$curl0 = curl_init();$curl1 = curl_init(); $curlstart = 0;
while($curlstart <= 1) {
curl_setopt(${'curl' . $curlstart}, CURLOPT_URL, $vst_url);
curl_setopt(${'curl' . $curlstart}, CURLOPT_RETURNTRANSFER,true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt(${'curl' . $curlstart}, CURLOPT_POST, true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_POSTFIELDS, http_build_query($postvars[$curlstart]));
$curlstart++;
}
print_r(curl_exec($curl0)); print_r(curl_exec($curl1));
μλ νμΈμ, λλ κ·Έμ λκ°μ κ²μ μ»μ΅λλ€. μ νν λκ°μ κ²μ λλ€. κ·Έλ¦¬κ³ test.phpλ₯Ό μμ±νκ³ μ‘μΈμ€ν λ λ€μμ μ»μ΅λλ€.
μλ¦Ό: μ μλμ§ μμ μΈλ±μ€: 67νμ /home/admin/web/pop.vps.co.ve/public_html/includes/includes.phpμ μ¬μ©μ μ΄λ¦
μλ¦Ό: μ μλμ§ μμ μΈλ±μ€: 68νμμ /home/admin/web/pop.vps.co.ve/public_html/includes/includes.phpμ λ‘κ·ΈμΈνμ΅λλ€.
@FulltronService μ’μ΅λλ€. test.phpμ μ½λλ₯Ό λ€μμΌλ‘ κ΅μ²΄νκ³ μΆλ ₯μ νμΈνμμμ€.
<?php
require("includes/config.php");
print_r(mysqli_query(mysqli_connect($mysql_server,$mysql_uname,$mysql_pw,$mysql_db),"SELECT VARIABLE,VALUE FROM " . $mysql_table . "config"));
mysqli_close($con);
μ΄μ λλ μ΄κ²μ μ»λλ€.
mysqli_result κ°μ²΄ ( [current_field] => 0 [field_count] => 2 [lengths] => [num_rows] => 50 [type] => 0 )
μλ¦Ό: μ μλμ§ μμ λ³μ: con in /home/admin/web/pop.vps.co.ve/public_html/test.php on line 5
κ²½κ³ : mysqli_close()λ 맀κ°λ³μ 1μ΄ mysqliμΌ κ²μΌλ‘ μμνλ©°, 5νμ /home/admin/web/pop.vps.co.ve/public_html/test.phpμ nullμ΄ μ§μ λμ΄ μμ΅λλ€.
@FulltronService μκ² μ΅λλ€.
<?php
require("includes/config.php");
$result = mysqli_query(mysqli_connect($mysql_server,$mysql_uname,$mysql_pw,$mysql_db),"SELECT VARIABLE,VALUE FROM " . $mysql_table . "config");
while ($row = mysqli_fetch_assoc($result)) { echo $row["VARIABLE"] . " " . $row["VALUE"] . "\n <br>"; }
mysqli_close($con);
TIMEZONE μλ©λ¦¬μΉ΄/λΌ_νμ€
SITE_NAME λ°±μ
μλ²
ν
λ§ μ€λ μ§
μΈμ΄ es_US.utf8
DEFAULT_TO_ADMIN μ°Έ
VESTA_HOST_ADDRESS https://pop.vps.co.ve
VESTA_SSL_ENABLED μ°Έ
λ² μ€ν_ν¬νΈ 8083
VESTA_METHOD μ격 μ¦λͺ
λ² μ€ν_API_KEY
VESTA_ADMIN_UNAME κ΄λ¦¬μ
VESTA_ADMIN_PW λΉλ°λ²νΈ
KEY1 VmeE4TYY
KEY2 kii7f7kt
WARNINGS_ENABLED κ΄λ¦¬μ
ICON admin-logo.png
λ‘κ³ admin-text.png
νλΉμ½ favicon.ico
WEB_ENABLED μ°Έ
DNS_ENABLED μ°Έ
MAIL_ENABLED μ°Έ
DB_ENABLED μ°Έ
ADMIN_ENABLED μ°Έ
PROFILE_ENABLED μ°Έ
CRON_ENABLED μ°Έ
BACKUPS_ENABLED μ°Έ
REGISTRATIONS_ENABLED κ±°μ§
SOFTACULOUS_URL μ°Έ
OLD_CP_LINK μ°Έ
PHPMAIL_ENABLED κ±°μ§
MAIL_FROM hello@https ://pop.vps.co.ve
MAIL_NAME λ°±μ
μλ²
SMTP_ENABLED κ±°μ§
SMTP_PORT 587
SMTP_HOST
SMTP_AUTH μ°Έ
SMTP_UNAME
SMTP_PW
SMTP_ENC tls
FTP_URL
WEBMAIL_URL
PHPMYADMIN_URL
PHPPGADMIN_URL
SUPPORT_URL https://fulltron.net
νλ¬κ·ΈμΈ
GOOGLE_ANALYTICS_ID
INTERAKT_APP_ID
μΈν°λT_API_KEY
CLOUDFLARE_API_KEY
CLOUDFLARE_EMAIL
μ£Όμ: μ μλμ§ μμ λ³μ: con in /home/admin/web/pop.vps.co.ve/public_html/test.php on line 8
κ²½κ³ : mysqli_close()λ 맀κ°λ³μ 1μ΄ mysqliμΌ κ²μΌλ‘ μμνκ³ , 8νμ /home/admin/web/pop.vps.co.ve/public_html/test.phpμ nullμ΄ μ£Όμ΄μ‘μ΅λλ€.
@FulltronService VESTA_HOST_ADDRESS μ λ¬Έμ κ° μλ€κ³ μκ°ν©λλ€. μ 체 URLμ μ
λ ₯νλ λ°λ©΄ νΈμ€νΈ μ΄λ¦ λλ IP μ£Όμμ¬μΌ ν©λλ€. MySQL λ°μ΄ν°λ² μ΄μ€μμ https://pop.vps.co.ve
λ₯Ό pop.vps.co.ve
λ‘ λ°κΎΈμμμ€.
μ€λΉ, λ¬Έμ κ° ν΄κ²°λμμ΅λλ€ :)
μ€λ₯κ° νμλμ§λ§ μ¬μ ν μΌλΆ κ²½κ³ κ° νμλ©λλ€. μ μμ λκΉ?
@FulltronService λ€, php_flag display_errors
λ₯Ό λ μ μμΌλ©° μ΄λ μ¬λΌμ§λλ€.
λν μμΌλ‘ μ΄ μ€λ₯κ° λ°μνμ§ μλλ‘ μ€μΉ νλ‘κ·Έλ¨μ μΌλΆ μ½λλ₯Ό μΆκ°ν κ²μ λλ€.
νλ₯ν μΉκ΅¬, λΉμ μ΄ λμκ² μ€ λμμ λν΄ λ§€μ° κ°μ¬ν©λλ€. λ² λ€μμλΌκ° μλμλ€λ©΄ κΈ°λΆνμ κ²μ λλ€ :(
λΉλ‘ μ°λ¦¬λ μμ΄μ§λ§.
@FulltronService λμλ릴 μ μμ΄μ κΈ°μ©λλ€ :)
λ€λ₯Έ λ¬Έμ κ° μμ΅λλ€. μΉμ ꡬμ±νλ €κ³ ν λ λ€μμ μ»μ΅λλ€.
μΉ λλ©μΈ μ
λ°μ΄νΈ μ€ μ€λ₯ λ°μ
(E: 0.0.0.0.0.0.4.OK.0)
λ€μ μλνκ±°λ μ§μνμ λ¬ΈμνμΈμ.
보ν΅μ΄λ€? μΉ κ΅¬μ±μ μ μ₯νμ§ μμ΅λλ€.
λλ©μΈμ νΈμ§νκ±°λ μμ±ν λμ λκΉ?
μ’μ μμΉ¨,
μμ κ°μ΄ ν΄λ΄€λλ° μ¬μ ν μλλ€μ....
[ root@holbrookhosting ν¬ν¨]# μμ€ /etc/os-release | μμ½ $NAME
-bash: /etc/os-release: ν΄λΉ νμΌμ΄λ λλ ν λ¦¬κ° μμ΅λλ€.
[ root@holbrookhosting ν¬ν¨]# lsb_release -si
μΌνΈOS
[ root@holbrookhosting ν¬ν¨]# μμ€ /etc/lsb-release | μμ½ $DISTRIB_ID
-λΉ μΆλ ₯-
https://control.holbrookhosting.co.uk/test.php
λν λ€λ₯Έ μ½λμ μΆλ ₯.
ADMIN_ENABLED μ°Έ
BACKUPS_ENABLED μ°Έ
CLOUDFLARE_API_KEY
CLOUDFLARE_EMAIL
CRON_ENABLED μ°Έ
DB_ENABLED μ°Έ
DEFAULT_TO_ADMIN μ°Έ
DNS_ENABLED μ°Έ
νλΉμ½ favicon.ico
FTP_URL
GOOGLE_ANALYTICS_ID
ICON admin-logo.png
μΈν°λT_API_KEY
INTERAKT_APP_ID
ν€1 JbWm3BPP
ν€2 PWkDVBjN
μΈμ΄ ko_US.utf8
λ‘κ³ admin-text.png
MAIL_ENABLED μ°Έ
MAIL_FROM [email protected]
MAIL_NAME νλΈλ£© νΈμ€ν
OLD_CP_LINK κ±°μ§
PHPMAIL_ENABLED κ±°μ§
PHPMYADMIN_URL
PHPPGADMIN_URL
νλ¬κ·ΈμΈ
PROFILE_ENABLED μ°Έ
REGISTRATIONS_ENABLED κ±°μ§
SITE_NAME νλΈλ£© νΈμ€ν
SMTP_AUTH μ°Έ
SMTP_ENABLED κ±°μ§
SMTP_ENC tls
SMTP_HOST
SMTP_PORT 587
SMTP_PW
SMTP_UNAME
SOFTACULOUS_URL κ±°μ§
SUPPORT_URL
ν
λ§ κΈ°λ³Έκ°
TIMEZONE μ λ½/λ°λ
VESTA_ADMIN_PW -μ¨κ²¨μ§-
VESTA_ADMIN_UNAME κ΄λ¦¬μ
λ² μ€ν_API_KEY
VESTA_HOST_ADDRESS 176.9.155.162
VESTA_METHOD μ격 μ¦λͺ
λ² μ€ν_ν¬νΈ 8083
VESTA_SSL_ENABLED μ°Έ
WARNINGS_ENABLED κ΄λ¦¬μ
WEBMAIL_URL
WEB_ENABLED μ°Έ
μλ¦Ό: μ μλμ§ μμ λ³μ: con /home/admin/web/control.holbrookhosting.co.uk/public_html/test2.php 8ν
κ²½κ³ : mysqli_close()λ 맀κ°λ³μ 1μ΄ mysqliμΌ κ²μΌλ‘ μμν©λλ€. nullμ 8νμ /home/admin/web/control.holbrookhosting.co.uk/public_html/test2.phpμ μ§μ λμ΄ μμ΅λλ€.
@Holbroom 176.9.155.162
κ° holbrookhosting.co.uk
λ‘ λ¦¬λλ μ
λλ νΈμ€νΈ μ΄λ¦μ 리λλ μ
μ΄ μλ κ² κ°μ΅λλ€. μ΄κ²μ΄ λ¬Έμ μΈμ§ νμ€νμ§ μμ§λ§ VWIκ° μ‘μΈμ€νμ§ λͺ»νλλ‘ λ¦¬λλ μ
ν μ μμ΅λλ€. API. λ€μ λ§νμ§λ§, test.phpμ λͺ¨λ μΆλ ₯μ μλ²½ν΄ λ³΄μ΄λ―λ‘ API μμ²κ³Ό ν¨κ» μμ΄μΌ ν©λλ€.
λν /etc/os-release
μ΄ λλ½λ κ²μ μ΄μν©λλ€. λͺ¨λ Linux 릴리μ€μμ μλνλ€κ³ λ―ΏκΈ° λλ¬Έμ
λλ€. νμ§λ§ μ€μΉ νλ‘κ·Έλ¨μ μμ νλ €κ³ μλνκ³ λ°±μ
κ²μ¬λ‘ /etc/centos-release
λ₯Ό μΆκ°νκ² μ΅λλ€. .
VESTA_HOST_ADDRESSλ₯Ό IP μ£Όμμμ holbrookhosting.co.ukλ‘ λ³κ²½νμ§λ§ μ¬μ ν μλνμ§ μμ΅λλ€. μ΄κ²μ λ§€μ° μ€λ§μ€λ½μ΅λλ€. μ΄ μμ μ μννκ³ μΆμ΅λλ€.
@Holbroom λ΄κ° κ²μν test.php μ½λμ 첫 λ²μ§Έ λΉνΈ μΆλ ₯μ λΆμ¬λ£μ μ μμ΅λκΉ?
첫 λ²μ§Έ λΉνΈμ μΆλ ₯μ λΆμ¬λ£λλ€λ κ²μ΄ λ¬΄μ¨ λ»μΈμ§ μ λͺ¨λ₯΄κ² μ΅λλ€.
test.phpλ λ€μ URLμμ μ‘μΈμ€ν μ μμ΅λλ€.
https://control.holbrookhosting.co.uk/test.php
μ΄κ²μ test.php λ€μ μλ μ½λμ λλ€.
`
μΈμ μμ(); $configlocation = "ν¬ν¨/"; require('ν¬ν¨/ν¬ν¨.php');
$postvars = λ°°μ΄(
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-info','arg1' => 'json'),
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-config','arg1' => 'json'));
$curl0 = curl_init();$curl1 = curl_init(); $curlstart = 0;
λμ($curlstart <= 1) {
curl_setopt(${'curl' . $curlstart}, CURLOPT_URL, $vst_url);
curl_setopt(${'curl' . $curlstart}, CURLOPT_RETURNTRANSFER,true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYPEER, κ±°μ§);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYHOST, κ±°μ§);
curl_setopt(${'curl' . $curlstart}, CURLOPT_POST, true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_POSTFIELDS, http_build_query($postvars[$curlstart]));
$curlstart++;
}
print_r(curl_exec($curl0)); print_r(curl_exec($curl1));`
μ΄ μ½λλ‘ λ³κ²½νκ³ λ³κ²½λλμ§ νμΈνμμμ€.
<?php
session_start(); $configlocation = "includes/"; require('includes/includes.php');
$postvars = array(
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-info','arg1' => 'json'),
array('user' => $vst_username,'password' => $vst_password,'cmd' => 'v-list-sys-config','arg1' => 'json'));
$curl0 = curl_init();$curl1 = curl_init(); $curlstart = 0;
while($curlstart <= 1) {
curl_setopt(${'curl' . $curlstart}, CURLOPT_FOLLOWLOCATION, true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_URL, $vst_url);
curl_setopt(${'curl' . $curlstart}, CURLOPT_RETURNTRANSFER,true);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt(${'curl' . $curlstart}, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt(${'curl' . $curlstart}, CURLOPT_POST, true);
curl_setopt(${'curl' . $curlstart},
CURLOPT_POSTFIELDS, http_build_query($postvars[$curlstart]));
$curlstart++;
}
print_r(curl_exec($curl0)); print_r(curl_exec($curl1));
test.php νμΌμ μ λ°μ΄νΈνλλ° λ³κ²½λ μ¬νμ΄ μμ΅λκΉ?
λλ©μΈμ νΈμ§νκ±°λ μμ±ν λμ λκΉ?
μ ννλ νμ κ·Έ μ€λ₯κ° λ°μν©λλ€.
test.php νμΌμ μ λ°μ΄νΈνλλ° λ³κ²½λ μ¬νμ΄ μμ΅λκΉ?
0μμ λ€μ μ€μΉν λ€μ ν¨λμ μ¬μ© μ€μΈ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ κ±°ν΄ λ³΄μμμ€.
μλ§λ μΌλ°μ μΈ κ΅¬μ± λ¬Έμ μΌ μ μμ΅λλ€. κ·Έλ° λ€μ HOSTκ° https://example.com/ μ΄ μλλΌ example.comμΈμ§ νμΈ
test.php νμΌμ μ λ°μ΄νΈνλλ° λ³κ²½λ μ¬νμ΄ μμ΅λκΉ?
0μμ λ€μ μ€μΉν λ€μ ν¨λμ μ¬μ© μ€μΈ λ°μ΄ν°λ² μ΄μ€λ₯Ό μ κ±°ν΄ λ³΄μμμ€.
μλ§λ μΌλ°μ μΈ κ΅¬μ± λ¬Έμ μΌ μ μμ΅λλ€. κ·Έλ° λ€μ HOSTκ° https://example.com/ μ΄ μλλΌ example.comμΈμ§ νμΈ
μ΄λ―Έ 4λ² μ€μΉλ₯Ό μλνλλ° λμΌν μ€λ₯ λ©μμ§κ° νμλ λλ§λ€ IP λ° example.com λλ©μΈμΌλ‘ μλνλλ° λ λ€ λμΌν μ€λ₯κ° λ°μνκ³ Cenotsκ° 64λΉνΈμΈλ° μν₯μ μ€ μ μμ΅λκΉ? μλ μ€μΉ μ€ν¬λ¦½νΈλ μλνμ§ μμ΅λλ€. μλν λ Centosλ₯Ό μ¬μ©νμ§ μλλ€κ³ νμλ©λλ€.
μ΄λ―Έ 4λ² μ€μΉλ₯Ό μλνλλ° λμΌν μ€λ₯ λ©μμ§κ° νμλ λλ§λ€ IP λ° example.com λλ©μΈμΌλ‘ μλνλλ° λ λ€ λμΌν μ€λ₯κ° λ°μνκ³ Cenotsκ° 64λΉνΈμΈλ° μν₯μ μ€ μ μμ΅λκΉ? μλ μ€μΉ μ€ν¬λ¦½νΈλ μλνμ§ μμ΅λλ€. μλν λ Centosλ₯Ό μ¬μ©νμ§ μλλ€κ³ νμλ©λλ€.
μ λ 64λΉνΈ μΌνΈλ₯Ό μ¬μ©νλλ° μ€μ νμΌ λΉΌκ³ λ μ€μΉμ λ¬Έμ κ° μμκΈ° λλ¬Έμ κ·Έκ² μ¬μ€μ΄λΌλ μ°Έ μ΄μν©λλ€. κ°λ° λꡬλ₯Ό μ€μΉνμ ¨μ΅λκΉ?
λλ λ΄ Centos λ²μ μ΄ 7μ΄λΌκ³ λ§λΆμ λλ€. VestaCP λλ©μΈμ μ€λ₯ λ μ§μ€νΈλ¦¬μμ λλλ‘ λ¬Έμ κ° PHP-FCGIμ λν κ²μΌ μ μκ³ λμκ² λ°μνκ³ μ΄λ―Έ μ§μ μΈλΆμ μλ€λ μ¬μ€μ μ μ μμ΅λλ€. μ€μΉ μ€μΈ ν¨λ . μ λ ₯νλ €λ©΄ μ΄λ€ κ²½μ°μλ ν΄λΉ λ μ½λμ λ€μκ³Ό κ°μ΄ μ λ ₯νμμμ€.
μ μ΄ν(Original VestaCP ν¨λ) > μΉ > λ‘κ·Έ 보기(λ΄ λλ©μΈ) > ErrorLog
λλ λ΄ Centos λ²μ μ΄ 7μ΄λΌκ³ λ§λΆμ λλ€. VestaCP λλ©μΈμ μ€λ₯ λ μ§μ€νΈλ¦¬μμ λλλ‘ λ¬Έμ κ° PHP-FCGIμ λν κ²μΌ μ μκ³ λμκ² λ°μνκ³ μ΄λ―Έ μ§μ μΈλΆμ μλ€λ μ¬μ€μ μ μ μμ΅λλ€. μ€μΉ μ€μΈ ν¨λ . μ λ ₯νλ €λ©΄ μ΄λ€ κ²½μ°μλ ν΄λΉ λ μ½λμ λ€μκ³Ό κ°μ΄ μ λ ₯νμμμ€.
μ μ΄ν(Original VestaCP ν¨λ) > μΉ > λ‘κ·Έ 보기(λ΄ λλ©μΈ) > ErrorLog
VestaCP ν¨λμ λ¬Έμ κ° μλ κ²½μ° μ΄μ κ° μμ κ²μ λλ€(λκΈ° μκ° μ ν λλ¬ΈμΈ κ²½μ°, μλͺ»λ κΈ°λ₯μ΄ μλ κ²½μ° λλ λμ μμ² μκ° μ νμ μ΄κ³ΌνκΈ° λλ¬ΈμΈ κ²½μ°)
@cdgco κ°μ μκ°μ΄
λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν λͺ κ°μ§ μ μμ ν΄μ£Όμ€ μ μμ΅λκΉ?
λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν λͺ κ°μ§ μ μμ ν΄μ£Όμ€ μ μμ΅λκΉ?
@cdgcoμ λλΌκ³ μ¨μλμ§ λ³΄κ³ μΆμ΄μ
건배, λͺ¨λ λμμ μ§μ¬μΌλ‘ κ°μ¬λ립λλ€. μ΄ μμ μ μννκ³ μΆμ΅λλ€.
@cdgco λ°©κΈ λ λ€λ₯Έ λ¬Έμ λ₯Ό λ°κ²¬
μ€λ₯ λ‘κ·Έκ° νμλκΈ° μμνλ©΄ λ€μκ³Ό κ°μ΄ νμλ©λλ€. mod_fcgid: stderr: PHP Parse error: syntax error, unexpected ';', expecting ',' or ')' in /home/admin/web/panel.fulltron.net/public_html/create/mailaccount.php on line 125, referer: https://panel.fulltron.net/add/mailaccount.php?domain=tuservinet.com
ν΄λΉ μ€μ μλ μ½λ μΈκ·Έλ¨ΌνΈλ λ€μκ³Ό κ°μ΅λλ€.
if($webmailurl != ''){ $webmailurlx0 = "Webmail URL: <a href='" . $webmailurl . "'>" . $webmailurl . "</a>"; $webmailurlx1 = "Webmail URL: " . $webmailurl; }
else { $webmailurlx0 = ''; $webmailurlx1 = ''; }
addslashes(
$mail = new PHPMailer;
$mail->setFrom($mailfrom, $mailname);
$mail->addAddress($_POST['v_sendemail']);
$mail->Subject = 'Email Credentials';
$mail->Body = 'Username: ' . $_POST['v_account'] . '@' . $_POST['v_domain'] . '<br>IMAP Hostname: ' . addslashes(VESTA_HOST_ADDRESS) . '<br>IMAP Port: 143<br>IMAP Security: STARTTLS<br>IMAP Auth Method: Normal Password<br>SMTP Hostname: ' . addslashes(VESTA_HOST_ADDRESS) . '<br>SMTP Port: 587<br>SMTP Security: STARTTLS<br>SMTP Auth Method: Normal Password<br>Password: ' . $_POST['password'] . '<br>' . addslashes($webmailurlx1);
$mail->AltBody = 'Username: ' . $_POST['v_account'] . '@' . $_POST['v_domain'] . '\nIMAP Hostname: ' . addslashes(VESTA_HOST_ADDRESS) . '\nIMAP Port: 143\nIMAP Security: STARTTLS\nIMAP Auth Method: Normal Password\nSMTP Hostname: ' . addslashes(VESTA_HOST_ADDRESS) . '\nSMTP Port: 587\nSMTP Security: STARTTLS\nSMTP Auth Method: Normal Password\nPassword: ' . $_POST['password'] . '\n' . addslashes($webmailurlx0);
νΉν 125νμ λ€μκ³Ό κ°μ΅λλ€.
$mail = new PHPMailer;
κ·Έλ ";" λμ "," λλ ")"λ₯Ό κΈ°λ€λ¦°λ€κ³ λ§ν©λλ€. "," λλ ")"λ‘ κ°μ λ³κ²½νλλ°λ μ¬μ ν λμΌν λ©μμ§λ₯Ό μ νν λμ‘κΈ° λλ¬Έμ μ΄ν΄κ° λμ§ μλ κ²½μ°.
@Holbroom κ·νμ OS λ²μ μ μ€λ₯μ κ΄λ ¨μ΄ μμΌλ©° μ€μΉμ μ μΌν λ¬Έμ λ OSλ₯Ό μ ννκ² κ°μ§νλ μ€λ₯μμ΅λλ€.
@FulltronService κ° νμ΄μ§μ λ€λ₯Έ μλ―Έλ₯Ό λνλ΄λ λ€λ₯Έ μ€λ₯ μ½λκ° μκΈ° λλ¬Έμ μ΄κ²μ΄ μ νν μ΄λ€ νμ΄μ§μΈμ§ μμμΌ ν©λλ€. νμ΄μ§κ° /edit/domain.php λλ /add/domain.phpλ‘ λλλμ?
μ§κΈ νκ΅κ° μμ΄μ μ§μμ μ 곡ν μ μμΌλ €λ©΄ μκ°μ΄ μ’ κ±Έλ¦΄ κ²μ λλ€.
https://panel.fulltron.net/create/mailaccount.php
μ
λκΉ? κ·Έλ¦¬κ³ μκ² μ΅λλ€. κΈ°λ€λ¦΄κ²μ.
ν΄λΉ μ€λ₯λ μ»€λ° 004a24fμμ μμ λμμΌλ©° v0.5.4μμ 릴리μ€λ©λλ€.
@FulltronService λλ©μΈμ μ λ°μ΄νΈν λ λ°μ μ€λ₯λ λλ©μΈμ SSL μΈμ¦μλ₯Ό μ λ°μ΄νΈν λ μ€λ₯ μ½λ 4μμ΅λλ€. μ€λ₯ 4λ "κ°μ²΄κ° μ΄λ―Έ μ‘΄μ¬ν¨"μ μλ―Έν©λλ€. μλ§λ μ΄λ―Έ SSL μΈμ¦μκ° μκ³ λμΌν μΈμ¦μλ₯Ό μ λ‘λνμ κ²μ λλ€. μμΈν λ΄μ©μ /usr/local/vesta/log/error.logμμ Vesta μ€λ₯ λ‘κ·Έλ₯Ό νμΈνμΈμ.
@Holbroom , ν΄λΉ νμ μΆκ°νλ©΄ 리λλ μ μ€λ₯κ° μμ λμμ§λ§ cURLμ μ¬μ ν ββVestaCP APIμ μ°κ²°νκ±°λ μΈμ¦ν μ μμ΅λλ€. λμ€μ λ¬Έμ λ₯Ό νμΈνκΈ° μν΄ μλ‘μ΄ ν μ€νΈ μ½λλ₯Ό μμ±νλ €κ³ ν©λλ€.
κ°μ¬ν©λλ€. λμμ μ£Όμ μ μ λ§ κ°μ¬ν©λλ€.
κ³μ μμ± λ±μ μν΄ PHPμμ VestaCP APIλ₯Ό μ¬μ©νλ λ°©λ²μ μ΄ν΄νμ§ λͺ»νμ§λ§ μ¬μ ν μ€ν¨νκ³ μμ΅λλ€. mysql λ°μ΄ν°λ² μ΄μ€μ μ°κ²°νκ³ μμ§λ§ VestaCP APIμ ν΅μ νμ§ μλ κ² κ°μ΅λλ€.
@Holbroom , λλ μ΄ν΄νμ§ λͺ»ν©λλ€. λͺ¨λ λ°μ΄ν°κ° μ νν΄ λ³΄μ΄μ§λ§ test.phpλ λ°μ΄ν°λ₯Ό μΆλ ₯ν΄μΌ νμ§λ§ λΉμ΄ μμ§λ§ μ°κ²° μ€λ₯λ λ°μνμ§ μμ΅λλ€. php λλ cURLμ λ¬Έμ κ° μμ μ μμ§λ§ νμ€νμ§ μμ΅λλ€.
λ΄ cURL λ²μ μ΄ λ§€μ° μ€λλμμ΅λλ€.
λ²μ : 7.19.7 2009λ 11μ 4μΌ
λλ μ΄κ²μ μ λ°μ΄νΈνκ³ κ·Έκ²μ΄ λμμ΄λλμ§ νμΈνκ³ μ§κΈ λΉ¨λλ₯Ό μ₯κ³ ββμμ΅λλ€.
λλ λͺ¨λ κ²μ μ λ°μ΄νΈνμ§λ§ μ¬μ ν μλ¬΄λ° μ°¨μ΄κ° μμ΅λλ€.
μλ μ€μΉλ₯Ό μλνλ μ΄μ μ λν΄ λ€μ λ©μμ§κ° νμλλ μ΄μ λ₯Ό μκ³ μμ΅λκΉ?
μ€λ₯: VWIλ Debian, Ubuntu, CentOS λλ RHELμλ§ μ€μΉν μ μμ΅λλ€. μ’
λ£ μ€...\n
λν APIμ λν cURL μ°κ²°μ ν
μ€νΈνλ μ€ν¬λ¦½νΈμ κ°μ΄ λ μλν μ μλ κ²μ΄ μμ΅λκΉ?
νμΈν μ¬νμ΄ μλ κ²½μ° PHPInfoλ₯Ό μ¦λͺ
νμκ² μ΅λκΉ? https://control.holbrookhosting.co.uk/phpinfo.php
@Holbroom , λ΄κ° λ§νλ―μ΄ μλ μ€μΉ νλ‘κ·Έλ¨μ μ μΌν λ¬Έμ λ OSλ₯Ό κ°μ§νκΈ° μν΄ λ§λ μΉμ μ΄ μλͺ» μλνκ³ ν μ€μ λ μΆκ°ν΄μΌ νλ€λ κ²μ λλ€.
컬 μ°κ²°μ λλ²κΉ νλ μ€ν¬λ¦½νΈλ₯Ό μμ±ν κ³νμ΄μ§λ§ μ΅κ·Όμ μ¬μ μκ°μ΄ κ±°μ μμμ΅λλ€.
λλ λΉμ μ PHPInfoλ₯Ό μ΄ν΄λ³΄κ² μ§λ§, κ·Έκ²μ΄ λμκ² νμ¬ κ°μ§κ³ μλ κ²λ³΄λ€ ν¨μ¬ λ λ§μ ν΅μ°°λ ₯μ μ€ κ²μΈμ§ μμ¬μ€λ½λ€.
λ€λ₯Έ μ¬μ©μμ λμΌν μ΄μ 체μ λ° μ»€λλΏλ§ μλλΌ λμΌν PHP, Apache λ° HTTP λ²μ μ μ€ννκ³ μμ΅λλ€.
@Holbroom μλ μ€μΉ νλ‘κ·Έλ¨μ μ λ§λ‘ μ¬μ©νκ³ μΆλ€λ©΄ λ€μκ³Ό κ°μ΄ κ°μ μ€ννλ μ€ν¬λ¦½νΈκ° μμ΅λλ€.
#!/bin/bash
if [ ! -z "$(ls -A ./)" ]; then
printf "Error: Directory not empty.\nVWI must be installed in clean directory. Exiting ...\n"
exit 1
fi
printf "Checking for required packages ...\n"
if rpm -q wget &> /dev/null
then
echo "wget found"
else
echo "wget not found. Installing ..."
yum -y install wget
fi
if rpm -q tar &> /dev/null
then
echo "tar found"
else
echo "tar not found. Installing ..."
yum -y install tar
fi
if rpm -q git &> /dev/null
then
echo "git found"
else
echo "git not found. Installing ..."
yum -y install git
fi
printf "\nInstalling Vesta Web Interface frontend ...\n"
git clone --quiet https://github.com/cdgco/VestaWebInterface . > /dev/null
git checkout --quiet 83fa361 > /dev/null
if [ -f README.md ] ; then
rm README.md
elif [ -f 'VWI Banner.png' ] ; then
rm 'VWI Banner.png'
fi
chmod 777 includes
chmod 777 tmp
chmod 777 plugins/images/uploads
printf "Installing Vesta Web Interface backend ...\n"
sleep .5
if [ -d /usr/local/vesta/softaculous/enduser/themes/default ] ; then
cp /usr/local/vesta/softaculous/enduser/themes/default /usr/local/vesta/softaculous/enduser/themes/original-default -r
elif [ -d /usr/local/vesta/softaculous/enduser/themes/simple ] ; then
cp /usr/local/vesta/softaculous/enduser/themes/simple /usr/local/vesta/softaculous/enduser/themes/original-simple -r
fi
wget -q https://github.com/cdgco/VestaWebInterface/releases/download/v0.5.3-Beta/backend.tar.gz
if [ -f backend.tar.gz ] ; then
tar -xzf backend.tar.gz -C /usr/local/
rm backend.tar.gz
fi
read -p "Enter the full web address of your installation: "
echo "<?php \$vwipanel = '$REPLY'; ?>" > /usr/local/vesta/web/vwi/config.php
printf "\nInstallation Complete! Please visit your website online to finish configuration.\n"
fi
λμ€μ μ€μΉ νλ‘κ·Έλ¨μ κ°μ μ€ννλ μ΅μ μ μ 곡νκΈ° μν΄ νλκ·Έλ₯Ό μΆκ°ν κ²μ λλ€.
κ°μ¬ν©λλ€. μ€λ λ°€ μ¬μ΄νΈλ₯Ό μ§μ°κ³ μλ μ€μΉ νλ‘κ·Έλ¨μ 미리 μ 곡νμ¬ μ°¨μ΄κ° μλμ§ νμΈνκ² μ΅λλ€. μκ°κ³Ό λ Έλ ₯μ λ€μ¬ μ΄ μμ μ λμμ£Όμ μ κ°μ¬ν©λλ€. 건배.