顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2018年7月8日 星期日

從頭開始,一步一步架起低成本網站【第3章~安裝FTP站台並啟用SSL加密連線供上傳程式檔案】



前面已經安裝了web和db,接下來如果購買VPS主機的話就需要使用FTP去上傳你所撰寫的程式

【安裝VSFTPD】

sudo apt-get install vsftpd

【檢查VSFTPD是否已安裝】

netstat -tul | grep ftp
OR
service vsftpd status


2018年6月17日 星期日

從頭開始,一步一步架起低成本網站【第1章~Ubuntu上架設.net平台web主機】


首先不管是要自架主機或是買VPS,總之要先有一台Linux主機


我是預計寫C#建立站台,所以採用Linux + Mono + Apache2 + Mariadb這個幾乎零成本的建置環境,接下來的案例都會以mail.example.com這個主機名稱為例子


2017年9月2日 星期六

在ubuntu分享印表機給windows使用


先在ubuntu 中安裝印表機驅動程式


接著進行command模式安裝

sudo apt-get install samba

sudo apt-get install cups


然後編輯smb.conf

sudo vim /etc/samba/smb.conf

在【print】區塊增加

browseable = yes

guest ok =yes

















重啟samba 

sudo service smbd restart


檢查是否可以登入CUPS網站 http://localhost:631



再來在windows中新增印表機,例如我的主機ip是192.168.1.2就是

http://192.168.1.2:631/printers/印表機名稱







接著要安裝印表機的驅動程式.inf檔(請上官網下載windows版的驅動程式,然後解壓縮或直接安裝)
























最後再印一下測試頁,如果印表機有動就沒問題了!







2017年3月16日 星期四

升級Ubuntu核心


執行更新套件時,出現安裝有問題,研究半天好像是核心有問題

sudo apt-get update

sudo apt-get dist-upgrade











2016年9月18日 星期日

Mariadb中Table資料的匯出與匯入(含DB匯出匯入)

開發時,有時需要倒一下線上機的資料來測試時


線上機( Ubuntu ) :

mysql -u root -p

SELECT * FROM [TABLE_NAME] INTO OUTFILE "/PATH/FILE_NAME.TXT";


本地測試機 (WINDOWS):

mysql -u root -p

LOAD DATA INFILE "D:\\PATH\\FILE_NAME.TXT" INTO TABLE [TABLE_NAME];


註.反斜線要兩個,不然會失敗


【匯出多個資料表到一個檔案中】

mysqldump -u user -p database_name table_1 table_2 table_3 > filename.sql


================【異機還原】===============

【DB匯出】

mysqldump -u[帳號] -p[密碼]  [DB名稱]>[檔案名稱]

mysqldump -uroot -proot nc > nc.sql

【DB匯入】

mysql -u[帳號] -p[密碼]  [DB名稱] < [檔案名稱]

mysql -uroot -proot nc < nc.sql


註1.

第一次安裝時mariadbDB預設密碼是root,變更密碼後忘了給'root'@'localhost'權限,結果出現Access denied for user 'root'@'localhost',搞很久最後加上sudo卻才可以登入真奇怪

 sudo  mysql -u root -p


查詢目前port

netstat -anp | grep :3306


重新載入設定檔而不重啟服務

sudo /etc/init.d/mysql reload






2016年7月10日 星期日

在Ubuntu 變更系統時區



使用外國的雲端主機都會有一個基本的困擾,就是時區的問題


指令:sudo dpkg-reconfigure tzdata 

執行後再選取你要設定的時區就可以了

參考文件:

https://help.ubuntu.com/community/UbuntuTime

http://www.arthurtoday.com/2015/02/ubuntu-command-line-reconfig-time-zone.html

2016年1月7日 星期四

Ubuntu 常用指令集


==================系統相關========================

ssh登入時會提醒目前已有多少套件可安裝

245 packages can be updated.
128 updates are security updates.


安裝系統更新套件

sudo apt-get update        # Fetches the list of available updates
sudo apt-get upgrade       # Strictly upgrades the current packages
sudo apt-get dist-upgrade  # Installs updates (new ones)

==================================================


[Tab] 接在一串指令的第一個字的後面,則為命令補全;
[Tab] 接在一串指令的第二個字以後時,則為『檔案補齊』

輸入ch 按兩次Tab鍵








清除畫面:clear

查詢目前環境變數:env

修改語系請直接參考 [Ubuntu] 如何設定語系locale 寫得很詳細

己安裝語系:locale -a

目前的語系設定:locale


查詢IP位置:ifconfig


===========================netstat ===============================

查目前服務的port及你要查的port

sudo netstat -taupen

sudo netstat -tapen | grep ":8000 "

======================閱讀壓縮的說明文件====================

zless <filename.gz>

ex.zless README.gz


2015年12月24日 星期四

Ubuntu 安裝 Node js 步驟


先下載source code




複製下載網址



回到 ssh 畫面中輸入wget 然後按滑鼠右鍵貼上網址


下載完成後,解壓縮

tar xfz node-v0.x.xx.tar.gz 

接著進入該目錄執行以下動作

cd node-v0.x.xx

./configrue

make 

sudo make install 

最後輸入 node -v 有出現版本號就OK了



2015年9月10日 星期四

升級MariaDB指令


先查詢一下目前作業系統:

lsb_release -a 














查詢MariaDB版本:

mysql --version 







開始升級mariadb:


執行apt-get update

sudo apt-get update



針對MariaDB進行升級

sudo apt-get dist-upgrade mariadb-server(含建議更新)
sudo apt-get install --only-upgrade mariadb-server(僅更新套件)





















最後再檢查一下版本

mysql --version




收工!


2015年3月16日 星期一

在Ubuntu上執行.NET程式安裝Mono平台步驟

2015.06.07

安裝mono

sudo apt-get install mono-complete

sudo apt-get install mono-runtime


==================下面是舊文章僅供參考============================

一、安裝XSP

命令提示字元下,執行以下指令

1.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update

2.
echo "deb http://download.mono-project.com/repo/debian wheezy-apache24-compat main" | sudo tee -a /etc/apt/sources.list.d/mono-xamarin.list

3.
sudo apt-get install mono-devel  mono-complete referenceassemblies-pcl 


4
測試mono是否正常執行(hello.cs)

using System;   public class HelloWorld { static public void Main () { Console.WriteLine ("Hello Mono World"); } }

編譯cs檔:
mcs hello.cs

然後測試執行:
mono hello.exe

5.測試web 是否正常執行,安裝xsp4

sudo apt-get install mono-xsp4

在你所在目錄下建立一個.aspx頁面

<%@ Page Language="C#" %> <html> <head> <title>Sample Calendar</title> </head> <asp:calendar showtitle="true" runat="server"> </asp:calendar>

執行 xsp4 --port 9000

看看 http://localhost:9000/hello.aspx 網頁是否正常執行


參考文件:

Install Mono on Linux

Mono Basics


二、手動安裝mod_mono

1.
sudo apt-get install libapache2-mod-mono

想啓用.Net 2.0版,可以加裝(選擇性,不一定要裝)

sudo apt-get install mono-apache-server2

2.
sudo a2enmod mod_mono

3.如果想要將版本改為.Net 2.0版可以在/etc/apache2/mods-available/mod_mono.conf下修改,不然保持預設值即可


vim /etc/apache2/mods-available/mod_mono.conf

4.設定你的網站,在/etc/mono-server4目錄下副檔名是.webapp,你可以查使用man xsp查閱詳細的內容, 下面列出概要

====================================================
       <apps>
       <web-application>
               <name>{appname}</name>
               <vhost>{virtual host for application}</vhost>
               <vport>{port for the application}</vport>
               <vpath>{virtual directory in apache}</vpath>
               <path>{physical path to aspx files}</path>
               <!-- <enabled> is true by default -->
               <enabled>{true|false}</enabled>
       </web-application>
       </apps>
=======================================================

5.重新啓動apache2,沒有安裝的話 sudo apt-get install apache2

sudo /etc/init.d/apache2 restart

6.新增一個apache2(2.4版以上)的站台設定檔/etc/apache2/sites-enabled/example.com.conf,裡面有以下內容


===========================================================
<VirtualHost *:80>
#        ServerName example.com

        DocumentRoot /var/www/example.com/

        <Directory /var/www/example.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Require All granted
#                Order allow,deny
#                Allow from all
#                SetHandler mono
                DirectoryIndex index.aspx index.html
        </Directory>
</VirtualHost>


======================================================

直接用ip測試應該可以看得到index.html的內容,但index.aspx還不會正常顯示


7.設定asp.net的設定檔案

先將剛剛在apache中建立的example.com.conf中的mono註解拿掉#

#                SetHandler mono  

再來在/etc/mono-server4中建立example.com.webapp檔,內容如下

<apps>
        <web-application>
                <name>example.com</name>
#                <vpath>/moo</vpath>
                <path>/var/www/example.com</path>
#                <vhost>example.com</vhost>
        </web-application>
</apps>

再測試一下index.aspx應該就可以正常顯示了,vpath和vhost是虛擬目錄和主機名,視你的需要設定吧

參考文件:

ModMono〉Non-AutoHosting Instructions

Apache HTTP Server Version 2.4 VirtualHost Examples

其他資源:

各作業系統的mono下載



下一章:Mono主機上建置Restful Web Api

2014年12月20日 星期六

[MariaDB]變更MariaDB的預設儲存引擎InnerDB到TokudB Part 2


為什縻要將預設引擎innerDB改為tokuDB請參考兩者之間的比較(光新增資料效率就差了100倍/秒)

http://www.tokutek.com/tokudb-for-mysql/tokudb-vs-innodb/



查詢mysql版本:mysql --version

10.x.x-MaridB代表新安裝的



5.x.x - MariaDB 代表之前有裝過mysql







執行:dpkg-query -l libevent-*











確定有 libevent-1.4版,沒有的話執行(Ubuntu14預設是裝2.0版,要加裝1.4版不然執行TokuDB時會有錯誤)

先切換身份到root : sudo su ,接著執行

apt-get install libevent-1.4


下載tokuDB(下面網址選mariadb那一個)

http://www.tokutek.com/tokudb-for-mysql/download-community/












將檔案儲存在暫存的資料庫,我安裝在/temp中,沒有的話,執行:mkdir /temp

接著參考此篇安裝步驟:http://docs.tokutek.com/tokudb/tokudb-index-installation.html

1.建立mysql 群組指定為927(如果/etc/group己經有此群組請跳過)

groupadd -g 927 mysql

2.建立mysql 帳號並加入至927的mysql群組中(如果/etc/passwd中己經有此帳號請跳過)

useradd -r -u 927 -g mysql mysql

3.接著建立tokuDB要使用的資料夾

mkdir -pv /opt/tokutek

4.進到該資料夾中將剛剛下載的tokuDB的壓縮檔解壓縮

cd /opt/tokutek

tar xvzf /temp/[你下載的tokuDB壓縮檔名稱]

例.tar xvzf /temp/mariadb-5.5.40-tokudb-7.5.3-linux-x86_64.tar.gz

5.將解開後很長的檔案資料名稱連結到mysql這個名稱

ln -sv [你下載的tokuDB壓縮檔名稱] mysql

例.ln -sv mariadb-5.5.40-tokudb-7.5.3-linux-x86_64 mysql

6.將解壓縮後的資料夾變更擁有者和群組權限

chown -Rv mysql:mysql [你下載的tokuDB壓縮檔名稱]

例.chown -Rv mysql:mysql   mariadb-5.5.40-tokudb-7.5.3-linux-x86_64














7.將support-files資料夾中tokuDB提供的設定檔my-small.cnf蓋掉mysql中的my.cnf檔案(原文中的/etc/my.cnf是錯的,應該是/etc/mysql/my.cnf),記得先備份原有檔案my.cnf為my.cnf.bak

cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak

cp -v support-files/my-small.cnf /etc/mysql/my.cnf

8.接著在/etc/mysql/my.cnf中[mysqld]區段後增加以下內容

datadir = /var/lib/mysql
basedir = /opt/tokutek/mysql
user = mysql
log_error = /var/log/mysql/error.log

以及將原有的socket參數改回原本mysql的路徑

/var/run/mysqld/mysqld.sock
























9.重新初始化原有的系統資料表(目前路徑還在/opt/tokutek/mysql喲)

scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql --basedir=/opt/tokutek/mysql

10.將原本/etc/init.d/mysql改成連結到tokuDB的mysql.server(一樣記得將原有的mysql備份起來)

mv /etc/init.d/mysql /etc/init.d/mysql.bak

ln -sv /opt/tokutek/mysql/support-files/mysql.server /etc/init.d/mysql

11.接著還要將hugepage關掉,不然/var/log/mysql/error.log中還會看到這個錯誤

請參考:[第三章]使用TokuDB前先將Huge pages 參數關掉

















12.最後啟動mysql 並確認TokuDB是否正常

/etc/init.d/mysql restart

mysql -u [mysql的管理員帳號] -p

例. mysql -u root -p

接著輸入 show plugins會看到tokuDB都是運作中

show plugins;

















再來show engines,會看到預設是tokuDB

show engines;









大功告成


==============測試=================

試著建立一個新表看看引擎是否預設為TokuDB

create database testdb ;

create table users
(
    id int not null,
    email char(50) not null,
    name char(20) not null
);


接著看users的資料表引擎

show table status from [DatabaseName] where name='[TableName]'

例. show table status from testdb where name='users'




OK !沒問題顯示為TokudB Engine



試著修改表格的engine

alter table [TableName] engine ='[Engine Name]'

例. alter table testdb.user engine ='Aria';











要將預設引擎變更可以執行

set default_storage_engine=[EngineName]






















[MariaDB]使用TokuDB前先將Huge pages 參數關掉 Part 3


訊息:TokuDB: Huge pages are enabled, disable them before continuing
















可以參考這一篇

How to enable TokuDB in MariaDB


懶得看可以參考以下:




終端機下輸入

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

接著建立一個tokudb.cnf文字檔

======================文字檔內容===================
# See https://mariadb.com/kb/en/how-to-enable-tokudb-in-mariadb/
# for instructions how to enable TokuDB
#
# See https://mariadb.com/kb/en/tokudb-differences/ for differences
# between TokuDB in MariaDB and TokuDB from http://www.tokutek.com/

plugin-load=ha_tokudb

==================================================

接著放在/etc/mysql/conf.d/tokudb.cnf (Ubuntu & Debian)











接著輸入

cat /sys/kernel/mm/transparent_hugepage/enabled

你可以看到原本的[always]被括住了,修改後變[never]被括住了








登入MariaDB後手動啟動tokuDB

INSTALL SONAME 'ha_tokudb';

再執行

show engines;

就可以看到tokuDB在引擎清單



2014.11.1
Q.系統重新啟動後,原本的HugePage又回復成always,要再查一下如何把參數設在啟動中

「修改個人登入設定」

直接將
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
寫在個人設定檔之中

vi ~/.bashrc 最底下

輸入 source ~/.bashrc 重新讀取bash(不用再登出登入)

再看一下是否正常括在[never]的地方
cat /sys/kernel/mm/transparent_hugepage/enabled

「修改系統設定」

在/etc/profile.d/dishugepage.sh,建立一個sh檔

新增底下內容:
=============================
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
                echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
               echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
=============================
系統重啟後檢查是否正常
cat /sys/kernel/mm/transparent_hugepage/enabled



方法二:修改/etc/rc.local

http://www.chriscalender.com/disabling-transparent-hugepages-for-tokudb/



2014年12月18日 星期四

[MariaDB]Ubuntu上安裝MariaDB與設定 Part 1


終端機下直接下

sudo apt-get update

sudo apt-get install mariadb-server


不記得apt-get 指令的請看這裡



修改設定my.cnf

sudo vim /etc/mysql/my.cnf


將bind-address 註解掉(前面加上#),這樣才可以遠端連線到這台資料庫(如果你的web和db在同 一台那就不用改了)

執行 mysql --version  就可以看到目前版本

如果之前有安裝過mysql ,版本會是5.x 如果是新安裝的則是10.x





2014年12月5日 星期五

[第一章] 用Mono Develop直接開發C#程式(安裝流程)


按crtl+alt+t 啓動終端機

執行:

1.
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

2.
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

3.
apt-get install MonoDevelop

4.
安裝完成後再usr/share/applications中找到MonoDevelop


可以看到我的界面預設是簡體字














5.
在編輯>preferences將語言設為tw















6.
終端機中執行apt-get install monodevelop-database 安裝資料庫外掛工具到Mono Develop


在Mono Develop選單中的工具就出現database連接工具囉




更多內容請參考:

Install MonoDevelop on Linux


Mono Develop各作業系統版本下載:

http://www.monodevelop.com/download


2014年11月8日 星期六

apt-get 常用指令


apt-cache search package 搜索程式
apt-cache show package 取得程式的訊息
sudo apt-get install package 安装程式
sudo apt-get install package - - reinstall 重新安装程式
sudo apt-get -f install 修复安装      "-f = --fix-missing"
sudo apt-get remove package 移除程式
sudo apt-get remove package - - purge 删除程式,包括删除配置文件等
sudo apt-get update 更新程式
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解程式依存關係
sudo apt-get build-dep package 安装編譯的程式
apt-get source package 下載程式的開源碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的檔案
sudo apt-get check 檢查程式的依存關係是否有損壞

熱門文章