Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
A simple nginx/webdav setup for use with things like mobile-org
# on ubuntu: need some utils & dev libs
sudo apt-get install apache2-utils openssl libssl-dev libpcre3-dev
# compile nginx
cd /tmp
curl | tar xz
cd nginx*
./configure --with-http_ssl_module --with-http_dav_module \
make && make install
# generate an htpasswd file
htpasswd -c ~/.htpasswd $(whoami)
# ssl
openssl genrsa 1024 > ~/nginx/conf/server.key
openssl req -new -x509 -nodes -sha1 -days 365 \
-key ~/nginx/conf/server.key > ~/nginx/conf/server.crt
# configure
cat > ~/nginx/conf/nginx.conf <<EOF
events {
worker_connections 1024;
http {
include mime.types;
default_type application/octet-stream;
ssl_certificate server.crt;
ssl_certificate_key server.key;
auth_basic "Restricted";
auth_basic_user_file $HOME/.htpasswd;
dav_methods put delete mkcol copy move;
dav_access user:rw;
create_full_put_path on;
server {
listen 1080;
listen 1443 ssl;
location ~ ^/org(/.*)?$ {
alias $HOME/org/mobile\$1;
# now you can start nginx
# and then sync w/ org-mobile-push/pull & mobileorg sync
# URL: http://<my-nginx-ip-addr>:1080/org/
# or use
# URL: https://<my-nginx-ip-addr>:1443/org/
# and your username and password you used above for htpasswd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.