Как Вы устанавливаете Drupal с командной строкой только?

Вся документация Drupal, которую я могу найти, имеет шаг "движения к браузеру и продолжения установки там".

Как я могу выполнить эти шаги от своей командной строки?

Я пытаюсь иметь сайт, где я могу разжечь экземпляр AWS и установить Drupal и т.д. командной строкой.

0
задан 05.11.2011, 05:48

7 ответов

Вы хотите использовать сценарий условия Drush.

Drush является оболочкой командной строки и пишущий сценарий интерфейса для Drupal, истинный швейцарский нож, разработанный для создания жизни легче для тех из нас, кто проводит часть нашего рабочего времени, взламывая далеко в командной строке.

4
ответ дан 24.11.2019, 02:48

Это - немного боли для установки drupal от завихрения из-за всех различных перенаправлений, которые делает сценарий установки. Также необходимо считать и записать cookie в точные моменты. Однако: Я сделал вихревой сценарий, который установит drupal из командной строки :) Отметьте: Только протестированный с drupal-6.x, php5 и php завихряются расширение.

Как примечание сайта прежде, чем сделать это, необходимо действительно рассмотреть использование drush команды установки сайта!

Это было протестировано на drupal-6.20 с PHP 5.3. Druapl 7 нужно было включить JavaScript насколько я вижу. И для этого не установит от завихрения! Необходимо также отметить, что корректные файлы для settings.php и папки должны быть приведены в порядок для создания этой работы (иначе, мы получим ошибки, и завихрение не будет compleate!)

Сначала мы добавляем вихревой класс.

<?php

// class found on php.net
// http://php.net/manual/en/book.curl.php

class mycurl {
     protected $_useragent = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1';
     protected $_url;
     protected $_followlocation;
     protected $_timeout;
     protected $_maxRedirects;
     protected $_cookieFileLocation = './cookie.txt';
     protected $_post;
     protected $_postFields;
     protected $_referer ="http://www.google.com";

     protected $_session;
     protected $_webpage;
     protected $_includeHeader;
     protected $_noBody;
     protected $_status;
     protected $_binaryTransfer;
     public    $authentication = 0;
     public    $auth_name      = '';
     public    $auth_pass      = '';

     public function useAuth($use){
       $this->authentication = 0;
       if($use == true) $this->authentication = 1;
     }

     public function setName($name){
       $this->auth_name = $name;
     }
     public function setPass($pass){
       $this->auth_pass = $pass;
     }

     public function __construct($url,$followlocation = true,$timeOut = 30,$maxRedirecs = 4,$binaryTransfer = false,$includeHeader = true,$noBody = false)
     {
         $this->_url = $url;
         $this->_followlocation = $followlocation;
         $this->_timeout = $timeOut;
         $this->_maxRedirects = $maxRedirecs;
         $this->_noBody = $noBody;
         $this->_includeHeader = $includeHeader;
         $this->_binaryTransfer = $binaryTransfer;

         $this->_cookieFileLocation = dirname(__FILE__).'/cookie.txt';

     }

     public function setReferer($referer){
       $this->_referer = $referer;
     }

     public function setCookiFileLocation($path)
     {
         $this->_cookieFileLocation = $path;
     }

     public function setPost ($postFields)
     {
        $this->_post = true;
        $this->_postFields = $postFields;
     }

     public function setUserAgent($userAgent)
     {
         $this->_useragent = $userAgent;
     }

     public function createCurl($url = 'nul')
     {
        if($url != 'nul'){
          $this->_url = $url;
        }

         $s = curl_init();

         curl_setopt($s,CURLOPT_URL,$this->_url);
         curl_setopt($s,CURLOPT_HTTPHEADER,array('Expect:'));
         curl_setopt($s,CURLOPT_TIMEOUT,$this->_timeout);
         curl_setopt($s,CURLOPT_MAXREDIRS,$this->_maxRedirects);
         curl_setopt($s,CURLOPT_RETURNTRANSFER,true);
         curl_setopt($s,CURLOPT_FOLLOWLOCATION,$this->_followlocation);
         curl_setopt($s,CURLOPT_COOKIEJAR,$this->_cookieFileLocation);
         curl_setopt($s,CURLOPT_COOKIEFILE,$this->_cookieFileLocation);

         if($this->authentication == 1){
           curl_setopt($s, CURLOPT_USERPWD, $this->auth_name.':'.$this->auth_pass);
         }
         if($this->_post)
         {
             curl_setopt($s,CURLOPT_POST,true);
             curl_setopt($s,CURLOPT_POSTFIELDS,$this->_postFields);

         }

         if($this->_includeHeader)
         {
               curl_setopt($s,CURLOPT_HEADER,true);
         }

         if($this->_noBody)
         {
             curl_setopt($s,CURLOPT_NOBODY,true);
         }
         /*
         if($this->_binary)
         {
             curl_setopt($s,CURLOPT_BINARYTRANSFER,true);
         }
         */
         curl_setopt($s,CURLOPT_USERAGENT,$this->_useragent);
         curl_setopt($s,CURLOPT_REFERER,$this->_referer);

         $this->_webpage = curl_exec($s);
         $this->_status = curl_getinfo($s,CURLINFO_HTTP_CODE);
         curl_close($s);

     }

   public function getHttpStatus()
   {
       return $this->_status;
   }

   public function __tostring(){
      return $this->_webpage;
   }
}

И теперь мы создаем сценарий с вихревым классом.

<?php

include_once "curl.inc";

// your site
$site_url = 'http://drupal';

// profile
$profile = 'default';

// locale
$locale = 'en';

// database
$db_path = 'drupal';

// database user
$db_user = 'root';

// database pass
$db_pass = 'password';

// database host
$db_host = 'localhost';

// name of site
$site_name = 'site_name';

// site email
$site_mail = 'site_mail@site.com';

// admin account name
$account_name = 'admin';

// admin account email
$account_mail = 'admin@admin.dk';

// admin account pass
$account_pass = 'admin1234';

// date time zone
$date_default_timezone = '-39600';

// use clean url.
$clean_url = '1';

// update status module
$update_status_module = '1';

// end of settings
 // create a url for curling db settings
$url_str = "db_path=$db_path&";
$url_str.= "db_user=$db_user&";
$url_str.= "db_pass=$db_pass&";
$url_str.= "db_host=$db_host&";
$url_str.= "db_prefix=&";
$url_str.= "db_port=&";
$url_str.= "op=Save and continue" . "&";
$url_str.= "form_id=install_settings_form";
$url_str = urlencode($url_str);

$url = "$site_url/install.php?profile=$profile";
$curl = new mycurl($url, true);
$curl->createCurl();
echo $curl;

$url = "$site_url/install.php?profile=$profile&locale=$locale";
$curl = new mycurl($url, true);
$curl->setPost($url_str);
$curl->createCurl();
echo $curl;

$url = "$site_url/install.php?profile=$profile&locale=$locale&op=do_nojs&id=1";

$curl = new mycurl($url, true);
$curl->setPost($url_str);
$curl->createCurl();
echo $curl;

$url = "$site_url/install.php?profile=$profile&locale=$locale&op=finished&id=1";

$curl = new mycurl($url, true);
$curl->setPost($url_str);
$curl->createCurl();
echo $curl;


// set settings for loading database with site base settings
$url_str = "site_name=$site_name&";
$url_str.= "site_mail=$site_mail&";
$url_str.= "account[name]=$account_name&";
$url_str.= "account[mail]=$account_mail&";
$url_str.= "account[pass][pass1]=$account_pass&";
$url_str.= "account[pass][pass2]=$account_pass&";
$url_str.= "date_default_timezone=$date_default_timezone&";
$url_str.= "clean_url=$clean_url&";
$url_str.= "form_id=install_configure_form&";
$url_str.= "update_status_module[1]=$update_status_module";


$url = "$site_url/install.php?profile=default&locale=en";
$curl = new mycurl($url, true);
$curl->setPost($url_str);
$curl->createCurl();
echo $curl;

die();
?>

Установите Drupal с ЗАВИХРЕНИЕМ

2
ответ дан 24.11.2019, 02:48

Вы могли написать сценарий шагов URL с помощью ЗАВИХРЕНИЯ.

1
ответ дан 24.11.2019, 02:48

Рабочий Вихревой сценарий может быть найден здесь: http://www.os-cms.net/content/article/view/1

0
ответ дан 24.11.2019, 02:48

Вы могли использовать расширение под названием Densite. Это сделает, это для 6.x и 5.x - тестирует только на человечности все же.

Связь на установку drupal с завихрением разорвана.

Установка Drupal 6 с помощью Командной строки с Drush и Twill

0
ответ дан 24.11.2019, 02:48

Не стесняйтесь проверять модуль drush_site_install6 drush, доступный здесь: http://drupal.org/project/drush_site_install6

0
ответ дан 24.11.2019, 02:48

Что относительно того, чтобы использовать текстовый браузер Lynx?

0
ответ дан 24.11.2019, 02:48

Теги

Похожие вопросы