Merge pull request #3757 from silke/develop

Develop
This commit is contained in:
Tobias Diekershoff 2017-10-05 07:55:00 +00:00 committed by GitHub
commit 2bcd5b3243
7 changed files with 521 additions and 408 deletions

56
Vagrantfile vendored
View file

@ -1,54 +1,30 @@
server_ip_trusty = "192.168.22.10"
server_ip_xenial = "192.168.22.11"
server_memory = "1024" # MB
server_ip = "192.168.22.10"
server_memory = "2048" # MB
server_timezone = "UTC"
public_folder = "/vagrant"
Vagrant.configure(2) do |config|
######################################################################
# Set server to Ubuntu 14.04
config.vm.define "trusty" do |trusty|
trusty.vm.box = "ubuntu/trusty64"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Create a hostname, don't forget to put it to the `hosts` file
# This will point to the server's default virtual host
# TO DO: Make this work with virtualhost along-side xip.io URL
trusty.vm.hostname = "friendica-trusty.dev"
# Create a static IP
trusty.vm.network :private_network, ip: server_ip_trusty
end
######################################################################
# Set server to Ubuntu 16.04
config.vm.define "xenial" do |xenial|
xenial.vm.box = "boxcutter/ubuntu1604"
config.vm.box = "ubuntu/xenial64"
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
# config.vm.box_check_update = false
# Disable automatic box update checking. If you disable this, then
# boxes will only be checked for updates when the user runs
# `vagrant box outdated`. This is not recommended.
config.vm.box_check_update = true
# Create a hostname, don't forget to put it to the `hosts` file
# This will point to the server's default virtual host
# TO DO: Make this work with virtualhost along-side xip.io URL
xenial.vm.hostname = "friendica-xenial.dev"
# Create a hostname, don't forget to put it to the `hosts` file
# This will point to the server's default virtual host
# TO DO: Make this work with virtualhost along-side xip.io URL
config.vm.hostname = "friendica-xenial.dev"
# Create a static IP
xenial.vm.network :private_network, ip: server_ip_xenial
end
# Create a static IP
config.vm.network :private_network, ip: server_ip
######################################################################
# Share a folder between host and guest
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "vagrant"
# config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "vagrant"
config.vm.synced_folder ".", "/vagrant", id: "vagrant-root", owner: "www-data", group: "www-data"
# Provider-specific configuration so you can fine-tune various
# backing providers for Vagrant. These expose provider-specific options.
@ -57,7 +33,7 @@ Vagrant.configure(2) do |config|
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = server_memory
vb.memory = server_memory
end
# Enable provisioning with a shell script.

View file

@ -9,10 +9,8 @@ Getting started
[Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers.
No need to setup up a webserver, database etc. before actually starting.
Vagrant creates a virtual machine for you that you can just run inside VirtualBox and start to work directly on Friendica.
You can choose between two different Ubuntu Linux versions:
1. Ubuntu Trusty (14.04) with PHP 5.5.9 and MySQL 5.5.53
2. Ubuntu Xenial (16.04) with PHP 7.0 and MySQL 5.7.16
It brings an Ubuntu Xenial (16.04) with PHP 7.0 and MySQL 5.7.16
What you need to do:
@ -20,29 +18,33 @@ What you need to do:
Please use an up-to-date vagrant version from https://www.vagrantup.com/downloads.html.
2. Git clone your Friendica repository.
Inside, you'll find a "Vagrantfile" and some scripts in the utils folder.
3. Choose the Ubuntu version you'll need und run "vagrant up <ubuntu-version>" from inside the friendica clone:
$> vagrant up trusty
$> vagrant up xenial
3. Run "vagrant up" from inside the friendica clone:
$> vagrant up
Be patient: When it runs for the first time, it downloads an Ubuntu Server image.
4. Run "vagrant ssh <ubuntu-version>" to log into the virtual machine to log in to the VM:
$> vagrant ssh trusty
$> vagrant ssh xenial
4. Run "vagrant ssh" to log into the virtual machine to log in to the VM:
$> vagrant ssh
5. Open you test installation in a browser.
If you selected an Ubuntu Trusty go to 192.168.22.10.
If you started a Xenial machine go to 192.168.22.11.
The mysql database is called "friendica", the mysql user and password both are "root".
Go to 192.168.22.10.
The mysql database is called "friendica", the mysql user and password both are "friendica".
6. Work on Friendica's code in your git clone on your machine (not in the VM).
Your local working directory is set up as a shared directory with the VM (/vagrant).
7. Check the changes in your browser in the VM.
Debug via the "vagrant ssh <ubuntu-version>" login.
Debug via the "vagrant ssh" login.
Find the Friendica log file /vagrant/logfile.out.
8. Commit and push your changes directly back to Github.
If you want to stop vagrant after finishing your work, run the following command
$> vagrant halt <ubuntu-version>
$> vagrant halt
in the development directory.
This will not delete the virtual machine.
9. To ultimately delete the virtual machine run
$> vagrant destroy
$> rm /vagrant/.htconfig.php
to make sure that you can start from scratch with another "vagrant up".
The vagrant Friendica instance contains a test database.
You will then have the following accounts to login:

View file

@ -22,11 +22,11 @@ Wir planen, diese Einschränkung in einer zukünftigen Version zu beheben.
1. Voraussetzungen
- Apache mit einer aktiverten mod-rewrite-Funktion und dem Eintrag "Options All", so dass du die lokale .htaccess-Datei nutzen kannst
- PHP 5.2+. Je neuer, desto besser. Du benötigst 5.3 für die Authentifizierung untereinander. In einer Windows-Umgebung arbeitet die Version 5.2+ möglicherweise nicht, da die Funktion dns_get_record() erst ab Version 5.3 verfügbar ist.
- PHP 5.4+. Je neuer, desto besser.
- PHP *Kommandozeilen*-Zugang mit register_argc_argv auf "true" gesetzt in der php.ini-Datei
- Curl, GD, PDO, MySQLi, xml und OpenSSL-Erweiterung
- etwas in der Art eines Email-Servers oder eines Gateways wie PHP mail()
- Mysql 5.x
- Mysql 5.5.3+
- die Möglichkeit, wiederkehrende Aufgaben mit cron (Linux/Mac) oder "Scheduled Tasks" einzustellen (Windows) [Beachte: andere Optionen sind in Abschnitt 7 dieser Dokumentation zu finden]
- Installation in einer Top-Level-Domain oder Subdomain (ohne eine Verzeichnis/Pfad-Komponente in der URL) wird bevorzugt. Verzeichnispfade sind für diesen Zweck nicht so günstig und wurden auch nicht ausführlich getestet.

File diff suppressed because one or more lines are too long

View file

@ -129,9 +129,8 @@ server {
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
include fastcgi.conf;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# deny access to all dot files

View file

@ -4,8 +4,8 @@
// Copy or rename this file to .htconfig.php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = 'root';
$db_user = 'friendica';
$db_pass = 'friendica';
$db_data = 'friendica';
// If you are using a subdirectory of your domain you will need to put the
@ -73,3 +73,5 @@ $a->config['system']['debugging'] = true;
$a->config['system']['logfile'] = 'logfile.out';
$a->config['system']['loglevel'] = LOGGER_DEBUG;
// display php errors
ini_set('display_errors', '1');

View file

@ -6,6 +6,9 @@
echo "Friendica configuration settings"
sudo apt-get update
# Install virtualbox guest additions
sudo apt-get install virtualbox-guest-x11
#Selfsigned cert
echo ">>> Installing *.xip.io self-signed SSL"
SSL_DIR="/etc/ssl/xip.io"
@ -32,30 +35,14 @@ sudo apt-get install -y apache2
sudo a2enmod rewrite actions ssl
sudo cp /vagrant/util/vagrant_vhost.sh /usr/local/bin/vhost
sudo chmod guo+x /usr/local/bin/vhost
if [ $( lsb_release -c | cut -f 2 ) == "trusty" ]; then
sudo vhost -s 192.168.22.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica-trusty.dev
sudo vhost -s 192.168.22.10.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica-xenial.dev
sudo a2dissite 000-default
sudo service apache2 restart
elif [ $( lsb_release -c | cut -f 2 ) == "xenial" ]; then
sudo vhost -s 192.168.22.11.xip.io -d /var/www -p /etc/ssl/xip.io -c xip.io -a friendica-xenial.dev
sudo a2dissite 000-default
sudo systemctl restart apache2
fi
#Install php
if [ $( lsb_release -c | cut -f 2 ) == "trusty" ]; then
echo ">>> Installing PHP5"
sudo apt-get install -y php5 libapache2-mod-php5 php5-cli php5-mysql php5-curl php5-gd
sudo apt-get install -y imagemagick
sudo apt-get install -y php5-imagick
sudo service apache2 restart
elif [ $( lsb_release -c | cut -f 2 ) == "xenial" ]; then
echo ">>> Installing PHP7"
sudo apt-get install -y php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring
sudo apt-get install -y imagemagick
sudo apt-get install -y php-imagick
sudo systemctl restart apache2
fi
echo ">>> Installing PHP7"
sudo apt-get install -y php libapache2-mod-php php-cli php-mysql php-curl php-gd php-mbstring php-xml imagemagick php-imagick
sudo systemctl restart apache2
#Install mysql
@ -73,21 +60,17 @@ Q1="GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;"
Q2="FLUSH PRIVILEGES;"
SQL="${Q1}${Q2}"
$MYSQL -uroot -proot -e "$SQL"
if [ $( lsb_release -c | cut -f 2 ) == "trusty" ]; then
service mysql restart
elif [ $( lsb_release -c | cut -f 2 ) == "xenial" ]; then
systemctl restart mysql
fi
# add a separate database user for friendica
$MYSQL -uroot -proot -e "CREATE USER 'friendica'@'localhost' identified by 'friendica';"
$MYSQL -uroot -proot -e "GRANT ALL PRIVILEGES ON friendica.* TO 'friendica'@'localhost';"
$MYSQL -uroot -proot -e "FLUSH PRIVILEGES"
systemctl restart mysql
#configure rudimentary mail server (local delivery only)
#add Friendica accounts for local user accounts, use email address like vagrant@friendica.dev, read the email with 'mail'.
if [ $( lsb_release -c | cut -f 2 ) == "trusty" ]; then
debconf-set-selections <<< "postfix postfix/mailname string friendica-trusty.dev"
elif [ $( lsb_release -c | cut -f 2 ) == "xenial" ]; then
debconf-set-selections <<< "postfix postfix/mailname string friendica-xenial.dev"
fi
debconf-set-selections <<< "postfix postfix/mailname string friendica-xenial.dev"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Local Only'"
sudo apt-get install -y postfix mailutils libmailutils-dev
sudo echo -e "friendica1: vagrant\nfriendica2: vagrant\nfriendica3: vagrant\nfriendica4: vagrant\nfriendica5: vagrant" >> /etc/aliases && sudo newaliases
@ -104,7 +87,7 @@ echo "create database friendica DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_ge
# import test database
$MYSQL -uroot -proot friendica < /vagrant/friendica_test_data.sql
#create cronjob
# create cronjob - activate if you have enough memory in you dev VM
echo "*/10 * * * * cd /vagrant; /usr/bin/php include/poller.php" >> friendicacron
sudo crontab friendicacron
sudo rm friendicacron