# what to use for file hosting



## fred974 (Nov 4, 2016)

Hi,

I often do smal website developement and I reuse the same scripts and api for all my websites...

I would like to know what you guys use to host your files in a way that can be reach by any website but not general public?

I looked at git it it look overly complicated for what I need..

Thank you in advance


----------



## aragats (Nov 4, 2016)

I'm using a $5/month VPS for various purposes including the one you mentioned, fred974 .
I used to use Linux at https://budgetvm.com/, then switched to FreeBSD at https://www.liteserver.nl/ .


----------



## obsigna (Nov 4, 2016)

fred974 said:


> Hi,
> 
> I often do smal website developement and I reuse the same scripts and api for all my websites...
> 
> ...



I use a central subversion repository, secured by SASL encryption. Usually, I do my web development on a local test server, and once I come to a working milestone, I commit the changes into the repository and then on the various sites I simply use the command `svn update` in order to deploy the changes.

My apache httpd.conf got the following entry in order to prevent access to the .svn directory:

```
...
# Prevent .svn and .xcodeproj directories from being disclosed
<DirectoryMatch "\.(svn|xcodeproj)">
    Require all denied
</DirectoryMatch>
```


----------



## fred974 (Nov 4, 2016)

Thank you guys for your input.
What software/application to you use?


----------



## Oko (Nov 4, 2016)

fred974 said:


> Hi,
> 
> I often do smal website developement and I reuse the same scripts and api for all my websites...
> 
> ...



I am surprised you are not using some kind version control system for it. My group at CMU is using Git/Gogs and Jankins for our software development needs. 
I concur that Git is little bit to complicated for my taste but GitHub is the big reason most of our students and professional programmers are familiar with it and insist on using it. Gogs is a self hosted GitHub which is slightly less mature than GitLab but infinitely easier to install and configure. 

I personally like devel/fossil but I gave up because at work I have to use Git.


----------



## fred974 (Nov 4, 2016)

Oko, I know this will sound crasy but I am only just learning about version control system.
I am trying to understand what it does and why I need it but so far I am really not getting it 
I am trying to teach myself via the internet and hope to find some good explanation somewhere.

My web work is wordpress e-commerce and every site is different but some of the code is shared. I don't understand how to use it as there is only a team of 1 (me)


----------



## Oko (Nov 4, 2016)

fred974 said:


> Oko, I know this will sound crasy but I am only just learning about version control system.
> I am trying to understand what it does and why I need it but so far I am really not getting it
> I am trying to teach myself via the internet and hope to find some good explanation somewhere.
> 
> My web work is wordpress e-commerce and every site is different but some of the code is shared. I don't understand how to use it as there is only a team of 1 (me)


If you want little trip through the history start with this light read

The Five-Minute RCS Tutorial

That was used in 1980s to keep the track of the version changes of a single file. I still use it to keep the track of changes of my configuration files on my servers. It is the part of the base installation on all BSDs. Than build upon RCS people came up with CVS. The biggest thing about CVS was not so much ability to work on the level of the directories but the fact that multiple users could check out the same file at the same time (the lock was removed) edit the file and be reasonably assured that CVS will merge differences properly and store file back in consistent manner.

I core group of CVS users at some point decided that it might be better to start from scratch than to fix every increasing list of problems with  CVS. They started the project called Subversion. It was still centralized version control system but it had better access control (beside ssh you could access it via http and subversion own network protocol with reasonable user access control) The biggest thing in my point of view was the fact that Subversion was atomic commit safe. Namely if you loose the power during CVS commit you can easily trash your repository. Subversion works on the principle all or nothing. If the power is lost during the commit no changes are made and repo is consistent.

The changes and new bugs/problems introduced with Subversion were significant enough that man big projects like OpenBSD has no intensive to move to it. Actually OpenBSD people started OpenCVS but it never got finished or nearly successful as the other sub-projects which came out of OpenBSD kitchen. Even I used GNU version of CVS.

Linux kernel people had their own problem so they started Git. Git belong to the new group of distributed version control systems Mercurial, Fossil being some other examples. This version control system became more prominent after the laptops become such indispensable part of our work.

Fossil was written by Dr. Richard Hip the same guy who wrote SQLite. It uses SQLite as a back-end to store the data. It comes with build in web interface so that you can track the changes in your browser. It comes with build in Wiki and bug tracking system. The big turn off is the lack of Windows client with Gui. CVS, Subversion, Git, Mercurial all have a very good free GUI Windows clients.

Hope this gives you enough to start.


----------



## fred974 (Nov 4, 2016)

Oko thank you. I take all the help I can get
The link you gave is really good.
I'll look more into it tomorrow with a fresh head on.

Thank you


----------



## Oko (Nov 4, 2016)

fred974 said:


> Oko thank you. I take all the help I can get
> The link you gave is really good.
> I'll look more into it tomorrow with a fresh head on.
> 
> Thank you


I have no idea what you going to end up using. Both CVS and Subversion have excellent books. 

http://cvsbook.red-bean.com/cvsbook.html

and

http://svnbook.red-bean.com/

If you end up using Git. Pro Git book is must read 
https://git-scm.com/book/en/v2

Fossil has excellent documentation 

https://www.fossil-scm.org/index.html/doc/trunk/www/permutedindex.html


----------



## daemontrainer (Nov 7, 2016)

fred974
Just as a small sidenote.
You should be able to run svn or almost any version control system directly out of your house. If port 80 is required, I think noIp or FreeDNS or others like them do port 80 redirect for free now. Other ports associated with them are open to my knowledge.
I would put nginx in front of your svn or etc server just to keep it safe, but that's a different story.

Oko
Out of sheer curiosity, what are your thoughts on mercurial?


----------



## vejnovic (Nov 7, 2016)

Oko said:


> I am surprised you are not using some kind version control system for it. My group at CMU is using Git/Gogs and Jankins for our software development needs.
> I concur that Git is little bit to complicated for my taste but GitHub is the big reason most of our students and professional programmers are familiar with it and insist on using it. Gogs is a self hosted GitHub which is slightly less mature than GitLab but infinitely easier to install and configure.
> 
> I personally like devel/fossil but I gave up because at work I have to use Git.


You can try this: devel/gitblit


----------



## crestfallen1 (Nov 7, 2016)

aragats said:


> I'm using a $5/month VPS for various purposes including the one you mentioned, fred974 .
> I used to use Linux at https://budgetvm.com/, then switched to FreeBSD at https://www.liteserver.nl/ .



I picked up a Liteserver.nl VPS last week and installed FreeBSD 11.0 on it  I love that they have so many BSD ISOs.


----------



## Oko (Nov 7, 2016)

daemontrainer said:


> Oko
> Out of sheer curiosity, what are your thoughts on mercurial?



I don't have an opinion. I have never really used or even had a need to evaluate it.


----------

