Wie installiere ich Drupal nur mit der Befehlszeile?

2045
hortitude

Die gesamte Drupal-Dokumentation, die ich finden kann, hat den Schritt "In einen Browser gehen und dort die Installation fortsetzen".

Wie kann ich diese Schritte von meiner Befehlszeile aus ausführen?

Ich versuche, eine Site zu haben, auf der ich eine AWS-Instanz starten und Drupal usw. per Befehlszeile installieren kann.

0
Ich weiß nicht, was "eine AWS-Instanz" ist, aber Sie wissen, dass Sie (* können) zur * öffentlichen * URL der zukünftigen Website wechseln können? (Wie * jeder *, der zu dieser URL geht, kann die Installation fortgesetzt werden.) Arjan vor 15 Jahren 0
Amazon Web Services. Nissan Fan vor 15 Jahren 1
Hmmm, ich dachte mir, dass es das nicht sein könnte ... Dann verstehe ich die Frage einfach nicht. :-) Arjan vor 15 Jahren 0
Warum ist die Installation des Browsers aus Neugier keine Option? Drupal ist ein Web-Framework. Vermutlich müssen Sie irgendwann Webzugriff darauf haben. Warum nicht die Standardinstallation mit dem Browser durchführen? Doug Harris vor 14 Jahren 0

7 Antworten auf die Frage

4
Ben

Sie möchten das Bereitstellungsskript von Drush verwenden .

Drush ist eine Befehlszeilen-Shell und ein Scripting-Interface für Drupal, ein wahres Schweizer Taschenmesser, das denjenigen von uns, die einige unserer Arbeitsstunden an der Eingabeaufforderung hacken, das Leben erleichtert.

2
Tom Wijsman

Es ist ein bisschen schwierig, drupal von curl zu installieren, da das Installationsskript verschiedene Umleitungen hat. Sie müssen Cookies zu bestimmten Zeitpunkten lesen und schreiben. Allerdings: Ich habe ein Curl-Skript erstellt, das Drupal von der Kommandozeile aus installiert :) Hinweis: Nur mit Drupal-6.x, PHP5 und der PHP-Curl-Erweiterung getestet.

Bevor Sie dies tun, sollten Sie unbedingt den Befehl drush site-install in Betracht ziehen!

Dies wurde am drupal-6.20 mit PHP 5.3 getestet. Druapl 7 muss Javascript aktiviert haben, soweit ich sehen kann. Und deshalb nicht von curl installieren! Sie sollten auch beachten, dass die korrekten Dateien für die Datei settings.php und der Dateiordner festgelegt werden müssen, damit dies funktioniert (andernfalls werden Fehler angezeigt und curl wird nicht abgeschlossen!)

Zuerst fügen wir eine Curl-Klasse hinzu.

<?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; } } 

Und jetzt erstellen wir das Skript mit der curl-Klasse.

<?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(); ?> 

- Installieren Sie Drupal mit cURL

1
Nissan Fan

Sie können die Schritte der URL mithilfe von cURL auslesen .

Wie macht man das genau? Tom Wijsman vor 12 Jahren 0
0
Annan

Sie können die Erweiterung Densite verwenden . Dies wird jedoch für 6.x und 5.x - Test nur auf Ubuntu durchgeführt.

Der Link zum Installieren von Drupal mit Curl ist unterbrochen.

Installation von Drupal 6 über die Befehlszeile mit Drush und Twill

0
databrace

Das funktionierende Curl-Skript finden Sie hier: http://www.os-cms.net/content/article/view/1

0
Catalin Balan

Schauen Sie sich das drush-Modul von drush_site_install6 hier an: http://drupal.org/project/drush_site_install6

0
Pitto

Was ist mit dem Lynx-Textbrowser ?